BomaPay Documentation

BomaPay API documentation covering payment partners, integration flows, authentication, API endpoints, and SDKs.

← Back to projects
POST
/instantPayment.do

Endpoint metadata is pulled from Strapi and paired with the imported GitBook reference content below.

Instant Payment

TheinstantPayment.domethod is used for a payment request.

Request Payload

userNameYesString [1..100]Login of the API user on whose behalf requests are processed for a particular merchant.
passwordYesPassword
MDORDERYesString [1..32]Unique order number generated by EPG after the registration of the order
$PANMandatoryInteger [0..12]Order amount in the minor denomination
$CVCOptionalInteger [3]Payment currency code in the ISO 4217 format.
YYYYNoString [1..512]URL to which the customer is redirected after a successful payment.
MMNoString [1..598]Free form description of the order.
backUrlMandatoryString[1...512]URL the user is to be redirected to if payment is successful. Use full path with protocol included, like this - (not test.com). Otherwise the user will be redirected to a URL composed like this:
failUrlNoString[1...512]The address to which the user is to be redirected in case of a failed payment. The address must be specified in full including the protocol used (for example,https://mybestmerchantreturnurl.cominstead ofmybestmerchantreturnurl.com). Otherwise, the user will be redirected to the address of the following typehttps://dev.bpcbt.com/payment/.

POST /instantPayment.do

Initiate a payment
{
  "openapi": "3.0.0",
  "info": {
    "title": "BomaPay API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://dev.bpcbt.com/payment/rest",
      "description": "Dev Sandbox"
    }
  ],
  "paths": {
    "/instantPayment.do": {
      "post": {
        "description": "Initiate a payment",
        "operationId": "initiate payment",
        "requestBody": {
          "description": "Initiate payment",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstantPayment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstantPaymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "invalid input, object invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFailureResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "InstantPayment": {
        "required": [
          "userName",
          "password",
          "$PAN",
          "$CVC",
          "YYYY",
          "MM",
          "backUrl"
        ],
        "type": "object",
        "properties": {
          "userName": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "$PAN": {
            "type": "integer",
            "minLength": 12,
            "maxLength": 19
          },
          "$CVC": {
            "type": "integer",
            "maxLength": 3,
            "minLength": 3
          },
          "YYYY": {
            "type": "integer",
            "format": "year",
            "maxLength": 4,
            "minLength": 4
          },
          "MM": {
            "type": "integer",
            "format": "month",
            "minimum": 1,
            "maximum": 12
          },
          "language": {
            "type": "string"
          },
          "backUrl": {
            "type": "string"
          },
          "failUrl": {
            "type": "string"
          }
        }
      },
      "InstantPaymentResponse": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "info": {
            "type": "string"
          },
          "redirect": {
            "type": "string"
          },
          "orderStatus": {
            "type": "object",
            "properties": {
              "expiration": {
                "type": "string"
              },
              "cardholderName": {
                "type": "string"
              },
              "depositAmount": {
                "type": "integer"
              },
              "currency": {
                "type": "string"
              },
              "authorizationResponseId": {
                "type": "string"
              },
              "ErrorCode": {
                "type": "string"
              },
              "ErrorMessage": {
                "type": "string"
              },
              "OrderStatus": {
                "type": "string"
              },
              "OrderNumber": {
                "type": "string"
              },
              "Pan": {
                "type": "string"
              },
              "Amount": {
                "type": "integer"
              }
            }
          }
        }
      },
      "OrderFailureResponse": {
        "required": [
          "errorCode",
          "errorMessage"
        ],
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "integer"
          },
          "errorMessage": {
            "type": "string"
          }
        }
      }
    }
  }
}

The InstantPayment object

{
  "openapi": "3.0.0",
  "info": {
    "title": "BomaPay API",
    "version": "1.0.0"
  },
  "components": {
    "schemas": {
      "InstantPayment": {
        "required": [
          "userName",
          "password",
          "$PAN",
          "$CVC",
          "YYYY",
          "MM",
          "backUrl"
        ],
        "type": "object",
        "properties": {
          "userName": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "$PAN": {
            "type": "integer",
            "minLength": 12,
            "maxLength": 19
          },
          "$CVC": {
            "type": "integer",
            "maxLength": 3,
            "minLength": 3
          },
          "YYYY": {
            "type": "integer",
            "format": "year",
            "maxLength": 4,
            "minLength": 4
          },
          "MM": {
            "type": "integer",
            "format": "month",
            "minimum": 1,
            "maximum": 12
          },
          "language": {
            "type": "string"
          },
          "backUrl": {
            "type": "string"
          },
          "failUrl": {
            "type": "string"
          }
        }
      }
    }
  }
}

The InstantPaymentResponse object

{
  "openapi": "3.0.0",
  "info": {
    "title": "BomaPay API",
    "version": "1.0.0"
  },
  "components": {
    "schemas": {
      "InstantPaymentResponse": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "info": {
            "type": "string"
          },
          "redirect": {
            "type": "string"
          },
          "orderStatus": {
            "type": "object",
            "properties": {
              "expiration": {
                "type": "string"
              },
              "cardholderName": {
                "type": "string"
              },
              "depositAmount": {
                "type": "integer"
              },
              "currency": {
                "type": "string"
              },
              "authorizationResponseId": {
                "type": "string"
              },
              "ErrorCode": {
                "type": "string"
              },
              "ErrorMessage": {
                "type": "string"
              },
              "OrderStatus": {
                "type": "string"
              },
              "OrderNumber": {
                "type": "string"
              },
              "Pan": {
                "type": "string"
              },
              "Amount": {
                "type": "integer"
              }
            }
          }
        }
      }
    }
  }
}