Delayed Payments
The Delayed Payments enable customers to retry payments without generating a new payment request. This feature is particularly useful when initial payment attempts fail due to common issues, such as:
- Insufficient funds.
- Invalid card details (e.g., CVV2, expiry date, card number).
- Restrictions on internet payments or low internet limits.
- Declines by the issuing bank for other reasons.
- Declines triggered by FONDY or bank antifraud systems.
With delayed payments (enabled by setting delayed=Y
), customers can resolve these issues by recharging their card, correcting card details, or contacting their bank and retrying payment within the order's specified lifetime. This eliminates the need to recreate the payment request.
Before proceeding to the step-by-step guide, make sure you know how to use your Signature and that you have your Merchant ID (merchant_id
). To get your Merchant ID, go to the Fondy Dashboard and log in. In the left sidebar, select Merchant Settings and then Technical. You can copy the Merchant ID by clicking the green button to the right of the number.
Creating the Delayed Payment
To create the delayed payment, follow the steps below. For more details, such as example request and responses, go to the Create Payment guide.
- Prepare the request data with the required fields:
server_callback_url
: Callback URL for payment updates.order_id
: Unique order identifier.currency
: Payment currency.order_desc
: Order description.amount
: Payment amount.merchant_id
: Your merchant ID.signature
: The request signature.delayed
: When set toY
, allows the customer to pay the order within the period specified in thelifetime
parameter.lifetime
: The duration for which the order is valid, in seconds.
- Use your preferred protocol to send a
POST
request to the Accept Purchase endpoint.
Supported Protocols
The supported protocols for this request are:
- URL-encoded form
- XML
- JSON
- Handle the response to retrieve the
checkout_url
and use it to redirect the customer to complete the payment. - After finishing, Fondy will send a
POST
request with the final payment information to theserver_callback_url
containing all the information from the processed payment. For more details, access the Callbacks guide.
Returned order_status
Values with delayed = Y
order_status
Values with delayed = Y
The order_status
parameter provides information about the state of a delayed payment order. Below are the possible statuses and their meanings:
-
processing
: Indicates that the client attempted a payment but the bank declined it. Non-empty parametersresponse_code
andresponse_description
are returned to theserver_callback_url
. The order's lifetime, defined by thelifetime
parameter, has not yet expired. -
created
: Indicates that the client was redirected to the payment page but has not yet entered their payment details. -
expired
: Indicates that the client did not enter their payment details, and the order's lifetime has expired. -
declined
: Similar toprocessing
, but the order's lifetime has expired, and no further payment attempts are allowed.
Updated 8 days ago