Experience safe and fast transactions
Start accepting payments conveniently through IcorePay different partner channels such as Online Banks, Over-the-Counter Banks, Payment Centers and E-wallets.
There are more and more payment options available in the market through various methods. However, integration with all these channels may take a long time. The Merchant Aggregator platform provides you the capability to provide multiple payment methods through a single integration.
This section of the document describes the Merchant Payment Aggregator platform API in detail, covering the various functions used, as well as codes that can be used to integrate them.
To authenticate REST/JSON payment requests, MPAP uses the industry-standard HTTP Basic Authentication method wherein the assigned unique id and password which are respectively specified in the service id and key or password parameters inside the request along with the signature.
The signature is assigned as the value of the signature parameter inside requests and responses as follows:
Note:
Method: POST
Content-Type: application/json
URL: {domain}/pay
Parameter Name | Type | Mandatory | Description |
service_id | string | Yes | A unique ID to be provided to the Merchant |
password | string | Yes | A unique authentication to be provided to the Merchant |
amount | string | Yes | Payment amount in minor currency units |
currency | string | Yes | Base Currency to be used |
operation_id | string | Yes | A unique Identification generated on the MPAP side |
payment_id | string | Yes | A unique Identification generated by the Merchant |
by_method | string | Yes | A specific code specific payment method |
callback_url | string | Yes | URL to send asynchronous callback with payment result information by using POST method to be provided by the Merchant |
return_url | string | Yes | URL to redirect user after payment is complete to be provided by the Merchant |
signature | string | Yes | Request signature. For details of signature calculation algorithm. |
customer | object | No | Object with user details Its parameters are listed below. Mandatory if it is used to pass user information for payouts. Optional when used to pass optional additional user information. |
phone | string | No | Payout recipient phone |
string | No | Payout recipient email | |
address | string | No | Payout recipient address |
{
“service_id”: “”,
“passwork”: “”,
“amount”: “30000”,
“currency”: “PHP”,
“operation_id”: “DEVTESTING001”,
“payment_id”: “DEVTESTING001”,
“by_method”: “bank-qr”,
“callback_url”: “http://your.site/callback”,
“return_url”: ” http://your.site/return_url”,
“signature”: “”,
“customer”: {
“account_number”: “1234567890”,
“name”: “Juan Dela Cruz”,
“email”: “juan.dela_cruz@gmail.com”,
“address”: “Manila, PH”,
“remark”: “This is a Testing.”
},
“merchant”: {
“name”: “icore”
}
}
Parameter name | Type | Description |
external_id | string | Payment ID from MPAP |
operation_id | string | Payment ID from Merchant |
redirect_url | string | URL from Merchant |
signature | string | Response Signature |
operation | object | Object with payment processing information |
status | string | Payment Status |
error_code | string | Error Code |
error_message | string | Error Message |
{
“external_id”: “NDXD643288631283”,
“operation_id”: “DEVTESTING001”,
“redirect_url”: “https://payment.site/1L9PJTl”,
“operation”: {
“status”: “awaiting_redirect”,
“error_code”: null,
“error_message”: “”,
“provider_error_message”: “”
},
“request”: {
“status”: “success”,
“error_code”: 0,
“error_message”: “”
},
“signature”: “25fa1067a70247887c8d058af2078749d69820232397c189ad6d1ef6fd134ea0”
}
Parameter name | Type | Mandatory | Description |
external_id | string | Yes | Payment ID from MPAP |
provider_id | string | No | Payment ID from Merchant |
provider_name | string | Yes | External provider name which is used or is being used to perform payment |
operation_id | string | Yes | Payment ID from Provider |
payment_ method | string | Yes | Payment method used to perform the payment. |
amount | string | No | Payment amount. |
currency | string | no | Payment currency. |
fee_amount | string | No | Amount in minor currency units. |
signature | string | Yes | Response signature. |
Method: POST
Content-Type: application/json
URL: {domain}/status
Parameter name | Type | Mandatory | Description |
service_id | string | Yes | System generated ID to be provided to the Merchant |
password | string | Yes | Processing password to be provided to the Merchant |
operation_id | string | Yes | Payment ID from Merchant |
signature | string | Yes | Response signature |
Parameter name | Type | Mandatory | Description |
external_id | string | Yes | Operation ID on MPAP |
provider_id | string | No | Payment ID on external provider side |
provider_name | string | Yes | External provider name which is used or is being used to perform payment |
operation_ id | string | Yes | Payment ID on Processing side |
payment_method | string | Yes | Payment method used to perform payment. |
redirect_url | string | Yes | URL to redirect user to Payment Aggregator payment page. Only for payments. Returned on each status request, as long as payment is in the awa iting_redirect status. |
amount | string | No | Payment amount. |
currency | string | No | Payment currency. |
fee_amount | string | No | Commission amount in minor currency units. |
signature | string | Yes | Response signature. |
operation | object | Yes | Object with payment processing information |
status | string | Yes | Payment status |
error_code | string | Yes | Code of the error encountered when processing payment. |
error_message | string | No | Message with reason for error encountered when processing pay request. |
provider_error_message | string | no | Message from external provider with reason for error encountered when processing payment. |
request | object | Yes | Object with payment request processing information |
status | string | Yes | Payment request processing status. |
error_code | string | No | Code of the error encountered when processing pay request. |
error_message | string | No | Message with reason for error encountered when processing pay request |
customer | object | Yes* Object with user (payer) information | |
account | string | No | Payer payment account (PAN, account number, wallet number). It is more than welcome to pass this value if external provider returns it. |
first_name | string | No | Payer name |
With our group of IT professionals, IcorePay will help you with the integration process.
2nd Floor Metrowalk Complex Weremote Building C, Pasig, 1604 Metro Manila
(02) 700 32446
support@icorepay.tech
We turn ideas into outcomes and forge technology as a tool to build partnerships. We treat clients as business partners in innovations and together, face the challenges of the changing world.