credit-cardWorkflow payment

When using the MartPay payment system, certain limitations apply to accepting payments. The key characteristic is that funds are not credited to the settlement account immediately: during the processing stage, the bank reserves the right to cancel a previously initiated transaction.

Such situations occur infrequently; however, this mechanism is sometimes exploited by fraudsters. They initiate a payment, and the funds temporarily appear in the merchant’s application. The bank then reverses the transaction and returns the money to the payer. During this time, the fraudsters manage to withdraw the funds from the application, resulting in financial losses for the merchant.

Proposed Process for Mitigating the Limitations

To reduce the risks associated with potential transaction reversals, a staged payment confirmation process is implemented.


When generating a payment link, an order is not created in our system upon calling the following method: POST https://api.martpay.net/api/v2/pis/payment

At this stage, the order does not yet exist in the system and has the status NOT_FOUND.


  1. Payment Initiation

After the user is redirected to the payment system, the transaction receives the status IN_PROGRESS.


  1. Partial Payment Confirmation

After receiving a notification from the bank confirming the successful processing of the transaction, the status is updated to ACCEPTED_SETTLEMENT_IN_PROCESS. At the same time, a webhook is sent containing information about the transaction status update.

At this stage, funds may be credited to the user’s balance and reflected in the merchant’s application; however, shipping goods and withdrawing funds are not yet permitted.

ACCEPTED_SETTLEMENT_IN_PROCESS — the transaction may still transition to CANCELED, in which case the funds are returned to the user’s bank account.


  1. Full Payment Confirmation

After receiving the final confirmation of a successfully processed transaction, the status changes to COMPLETED, and the webhook notification is sent again.

❗️Important❗️

triangle-exclamation

Last updated