Make payments and repayments for any website or mobile app
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.

API Document for Merchant Payment Aggregator Platform (MPAP)
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.
- Merchant should gather required data from customer from the merchant site such as customer information, Amount and Order Details.
- MPAP has the capability to show list of available methods in the system. However, Merchant can choose specific methods to process the transaction.
- Merchant should provide Merchant Id
- Use trusted IPs
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:
- Concatenate all parameter values in a single string.
- Use hyphen (-) in place of any empty values.
- Calculate HMAC-SHA256 code for the string by using the secret key provided.
- Convert the result to lower case.
- Request for payment with all the required parameters is sent with the required parameters.
- All customer data should be collected by the Merchant.
- The Customer is redirected to a payment page.
- The Customer to confirm the information obtained or enter additional information as required.
- The Customer will receive an information regarding the status of the transaction.
- The Customer will return to the merchant page.
Note:
- The callback with payment result should be sent to the URL specified in the callback_url parameter only when payment reaches one of the final payment statuses (status = paid/fail).
- To check the payment status, a status request is issued (Command=status in the request URL). The payment status should be provided by the payment ID on Processing side (operation_id in the payment request parameters).
- The base endpoint is: https://icoredev.tech:8835/
- All endpoints return either a JSON object or array.
- Data is returned in ascending order. Oldest first, newest last.
- All time and timestamp related fields are in milliseconds.
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 |
Partner With Us











Why choose IcorePay?

Service

Convenient

Simple Integration
With our group of IT professionals, IcorePay will help you with the integration process.