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.

  1. Merchant should gather required data from customer from the merchant site such as customer information, Amount and Order Details.
  2. MPAP has the capability to show list of available methods in the system. However, Merchant can choose specific methods to process the transaction.
  3. Merchant should provide Merchant Id
  4. 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:

  1. Concatenate all parameter values in a single string.
  2. Use hyphen (-) in place of any empty values.
  3. Calculate HMAC-SHA256 code for the string by using the secret key provided.
  4. Convert the result to lower case.
  1. Request for payment with all the required parameters is sent with the required parameters.
  2. All customer data should be collected by the Merchant.
  3. The Customer is redirected to a payment page.
  4. The Customer to confirm the information obtained or enter additional information as required.
  5. The Customer will receive an information regarding the status of the transaction.
  6. The Customer will return to the merchant page.

Note:

  1. 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).
  2. 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.
Merchant sends out a request in the JSON format with all the necessary parameters by using HTTP/HTTPS POST method. Request address format is as follows: https://{Host}/{Command}, where {Host} is the URL of MPAP and {Command} is the command to initiate the request. MPAP synchronously responds to Processing requests with responses in JSON format encoded in UTF8.

Method: POST

Content-Type: application/json

URL: {domain}/pay

Parameter NameTypeMandatoryDescription
service_idstringYesA unique ID to be provided to the Merchant
passwordstringYesA unique authentication to be provided to the Merchant
amountstringYesPayment amount in minor currency units
currencystringYesBase Currency to be used
operation_idstringYesA unique Identification generated on the MPAP side
payment_idstringYesA unique Identification generated by the Merchant
by_methodstringYesA specific code specific payment method
callback_urlstringYesURL to send asynchronous callback with payment result information by using POST method to be provided by the Merchant
return_urlstringYesURL to redirect user after payment is complete to be provided by the Merchant
signaturestringYesRequest signature. For details of signature calculation algorithm.
customerobjectNoObject 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.
phonestringNoPayout recipient phone
emailstringNoPayout recipient email
addressstringNoPayout 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

Be part of the IcorePay community and earn extra income for you and your business when you become an accredited partner or merchant. Click below to learn how.

Why choose IcorePay?

Service

With our well-trained and accommodating team, experience great service with our Business Development Executives that will help you choose the best solutions in your business.

Convenient

IcorePay will give you the ease and comfort with hassle-free payment options. Partnering with almost all channels in the Philippines.

Simple Integration

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

icore_logo

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.

GET IN TOUCH

2nd Floor Metrowalk Complex Weremote Building C, Pasig, 1604 Metro Manila
support@icorepay.tech