MPGS

Mastercard Payment Gateway Services (MPGS) is a secure payment gateway that enables businesses to accept online payments from customers through various payment channels.

Pay

Pay the transaction.

Confirm (Pay)

POST https://api.plutus.ly/api/v1/transaction/mpgs/confirm

Pay the transaction

Headers

Name
Type
Description

Authorization*

String

Bearer: [Access token]

X-API-KEY*

String

API Key

Request Body

Name
Type
Description

amount*

String

Transaction amount in US dollars.

Formatting is allowed with a maximum of two decimal places: XXX, XX.X, XX.XX

invoice_no*

String

Invoice number associated with transaction, must be unique and not previously used.

return_url*

String

Redirect URL after completing the payments

customer_ip

String

[Optional] Customer IP address

lang

String

[Optional] Accepts ar or en, by default ar

{
    "status": 200,
    "result": {
        "code": "CHECKOUT_REDIRECT",
        "redirect_url": "https://xxxxxxxxxxxxxxx"
    }
}
curl --location --request POST 'https://api.plutus.ly/api/v1/transaction/mpgs/confirm' \
--header 'X-API-KEY: [API_KEY]' \
--header 'Authorization: Bearer [ACCESS_TOKEN]' \
--form 'amount="[AMONUT]"' \
--form 'invoice_no="[INVOICE_NO]"' \
--form 'return_url="[RETURN_URL]"' \
--form 'customer_ip="[CUSTOMER_IP]"'

Callback handler

The callback will be received from Plutu when the transaction is completed or canceled. This gives a Merchant better control of how the transaction is processed on the Merchant's side. This is useful e.g. when you want to mark an order as paid, update your shop's inventory, or add appropriate records to Merchant’s internal accounting system.

Callback response parameters:

The callback is called with HTTP GET and with the same query string parameters as in the redirect

Parameter
Description

gateway

Gateway name: mpgs

approved

It will only be returned if the transaction is approved and completed and must be checked to be 1 (true)

canceled

It will only be returned if the transaction is canceled by the customer

amount

amount sent in the request

currency

Transaction currency refers to the currency used for processing payments through MPGS and is configured in your Plutu account. It currently supports USD

invoice_no

Invoice number sent in the pay request

transaction_id

Plutu transaction id

hashed

Hash message authorization code (HMAC) is used to verify both the data integrity and the authorization of a message.

SHA-256 HMAC is calculated as follows:

  • The SHA-256 HMAC calculation includes all response query string parameters and key-value pairs except the “hashed” parameter.

  • Create an SHA-256 HMAC of the resultant string using the secret key created in the Plutu account and convert it to uppercase and compare it with the “hashed” parameter received in the callback.

Last updated