Payment Callback
This callback is sent to the Merchant’s Result URL immediately after successful payment acceptance. Result URL is specified in configurations of "Merchant’s portal".
URL: Merchant's URL
Method: POST Content-Type: application/x-www-form-urlencoded
Query params:
| Name | Field name | Description | |
|---|---|---|---|
| Merchant ID | LMI_MERCHANT_ID | Yes | The Merchant can get the identifier in the "Merchant’s portal". |
| Payment amount | LMI_PAYMENT_AMOUNT | Payment amount. | |
| Total amount | LMI_PAID_AMOUNT | Total amount paid including additional fee. | |
| The reference to uniquely identify a payment | LMI_PAYMENT_NO | Order number set by the Merchant. | |
| Test mode attribute | LMI_MODE | Indicates the mode of payment acceptance: 0 - operating mode; 1 - test mode. | |
| Payplaypro system's reference number of payment | LMI_SYS_PAYMENT_ID | Payplaypro system's reference number of payment | |
| Payment method ID | LMI_PAYMENT_SYSTEM | Identifier of a payment method used to make a payment. NOTE: Test mode merchants can use just one payment system - test one (LMI_PAYMENT_SYSTEM = 18). It doesn’t involve any real settlements. | |
| Payment acceptance date and time | LMI_SYS_PAYMENT_DATE | Payment acceptance date and time within Payplaypro system in a format YYYY-MM-DD hh:mm:ss (Kyiv time). | |
| Client information | LMI_PAYER_IDENTIFIER | Client’s payment data (for example, masked banking card number). Format depends on payment method which was used to make a payment. | |
| Payment purpose | LMI_PAYMENT_DESC | Description of a product/work/service being paid for. Maximum length is 255. UTF8 encoding. | |
| Client’s phone number | LMI_PAYER_PHONE_NUMBER | Client’s phone number .NOTE: Field value may differ from the one passed in Payment request form, if the flag With the right to modify if passed via protocol for the setting Require phone number is set in the Merchant’s User Profile. | |
| Client’s email | LMI_PAYER_EMAIL | Client’s email.NOTE: Field value may differ from the one passed in Payment Request Form, if the flag With the right to modify if passed via protocol for the setting Require email is set in the Merchant’s User Profile. | |
| Checksum | LMI_HASH | Payment notification form checksum which is used for received data integrity check and unambiguous sender identification. Checksum is the result of encryption of a row obtained by joining (without separators) of values of the following parameters in the strictly specified order: LMI_MERCHANT_ID LMI_PAYMENT_NO LMI_SYS_PAYMENT_ID LMI_SYS_PAYMENT_DATE LMI_PAYMENT_AMOUNT LMI_PAID_AMOUNT LMI_PAYMENT_SYSTEM LMI_MODE secretKey Encryption algorithm and Secret Key are set by the Merchant in configurations of its User Profile and is known solely to the Merchant and Payplaypro system. Recommended encryption algorithm is SHA256. |
|
| Additional parameters | Defined by Merchant | All the fields received from the Merchant in Payment request form without LMI_ prefix. |
Payment Callback informs the Merchant that the payment has been successfully accepted.
The Merchant must verify the data received from Payplaypro in the Payment Callback. Additionally, the Merchant must verify the checksum (LMI_HASH). To do this, the Merchant must:
- Generate a string by concatenating the values of the parameters received in the Payment Notification Form in the order specified by Payplaypro for checksum generation (see the LMI_HASH parameter description above);;
- Calculate the hash of the resulting string using the algorithm specified in the Merchant’s Portal;
- Compare the calculated hash with the LMI_HASH value received in the Payment Callback . If any of these verification steps fail, the Merchant must postpone order processing. Such cases should be reviewed manually by the Merchant’s employees.
Payplaypro does not expect any response to the Payment Notification Form.
Since the Result URL receives two types of Callbacks (Initial Request Form and Payment Callback), it is recommended to distinguish them by checking for the presence of specific parameters: LMI_PREREQUEST (absent in Payment Callback), LMI_HASH (absent in Initial Request Form), LMI_SYS_PAYMENT_ID (absent in Initial Request Form).
If the "Send Payment Notification Form repeatedly in case of failures" flag is enabled in the Merchant Portal, the Payment Callback will be sent periodically to the Result URL until an HTTP 200 response is received.
The recommended encryption algorithm is SHA-256.