Payment Initiation Copy section link Copied!
AgoraPay offers the Payment Initiation as a payment method, by acting as a PISP (Payment Initiation Service Provider). It allows to initiate a payment directly from the customers’ bank account, at their request, in the form of a bank transfer.
Check the Payment Initiation section on our website to learn about its benefits.
How does Payment Initiation work? Copy section link Copied!
There are 2 types of Payment Initiation flows depending on whether the user knows his/her IBAN before starting the payment journey.
In this section we will cover the following scenarios:
- Successful IBAN transaction
- Successful bank selection transaction
- Payment method rejected
AgoraPay will inform the Marketplace on the payment outcome processed on the customer's bank, both for success and/or failure scenarios.
While implementing the solution, AgoraPay recommends to test at least the following usecases for the payment initiation:
- A case of payment abandonment via the submitted
- A case of payment acceptance (executed or authorized then executed)
- A case of payment refusal (rejected, failed, expired and authorized then rejected)
If you plan to integrate the unpaid webhooks, unpaid cases can also be simulated.
Successful IBAN transaction Copy section link Copied!
The main steps of a payment initiation flow with a successful transaction are:
- The buyer validates his cart on the Marketplace website
- The buyer selects Payment Initiation as a payment method on the marketplace
- The buyer inserts his IBAN
- AgoraPay verifies the payment method eligibility
- The buyer is redirected to his bank to finalize the transaction
- When transaction is completed, AgoraPay informs the buyer that the transaction is completed
- The Marketplace collects the fund.
*In the following schema, Payment Initiation will be named PISP
Check out the webhook section for details about the events the Marketplace will be receiving from the AgoraPay platform.
Specific usecase : Payment with IBAN Copy section link Copied!
Only one answer is possible depending on the value of the IBAN. This answer is the only active one, the other disabled choices will appear grayed out.The management of all the cases is identical for the 2 courses.
The possible answers are the following:
IBAN
AVAILABLE STATUS
FR9530003000708915516426B35
SUBMITED
FR2130003000302667332151D75
REJECTED
FR4830003000303864238885L38
EXECUTED
FR1030003000505644812371I38
AUTHORIZED then EXECUTED
Successful Bank selection transaction Copy section link Copied!
The main steps of a payment initiation successful transaction using the buyer's bank include:
- The buyer validates his cart on the Marketplace website
- AgoraPay sends a personalized URL to the Marketplace
- The buyer selects Payment Initiation as a payment method on the marketplace
- The buyer selects "bank" as a payment method
- Banks can offer various types of payment methods (classic transfer or instant transfer), the buyer must indicate which method he wants to use for the transaction
- The buyer selects his bank and is redirected to it
- When transaction is completed, AgoraPay updates the transaction status and informs the buyer that transaction is completed
- The Marketplace collects the funds
*In the following schema, Payment Initiation will be named PISP
Check out the webhook section for details about the events the Marketplace will be receiving from the AgoraPay platform.
Payment method rejected Copy section link Copied!
The process when the payment method is rejected by AgoraPay while processing its eligibility:
- The buyer selects Payment Initiation as a payment method on the marketplace
- The buyer inserts his IBAN
- AgoraPay verifies the payment method eligibility
- The payment is rejected
- The transaction status is updated upon notification from Payment Initiation provider
*In the following schema, Payment Initiation will be named PISP
Check out the webhook section for details about the events the Marketplace will be receiving from the AgoraPay platform.
Payment Initiation simulator characteristics Copy section link Copied!
The Bank simulator, available through AgoraPay offers various actions on an attempt to pay by online transfer. Find below the available statuses for your payment:
- SUBMITTED
- AUTHORIZED
- EXECUTED
- AUTHORIZED then EXECUTED
- REJECTED
- FAILED
- EXPIRED
- AUTHORIZED then REJECTED
The PISP sandBox does not allow you to choose the desired status when the payment call is made with an IBAN provided.
As a reminder, it is not the immediate response made to the buyer that modifies the transaction status and the associated operation but the notifications generated by the Payment Initiation provider upon observation of a change in the statuses internally of its system.
The statuses description and their consequences Copy section link Copied!
STATUS
DESCRIPTION
CONSEQUENCE
SUBMITTED
The order to create the transaction has been received, but the buyer has not completed the payment process
In production:
No payment made. No notification. The transaction will remain 'in_progress'.
The batch of the abandoned cart should consider it canceled (abandoned), after 30 minutes.
The operation is canceled in any case.
AUTHORIZED
The payment has been submitted to the bank and taken into account. It hasn't been triggered yet.
Similar usecase as a SCT payment, the final outcome is unknown at the time of purchase.
The transaction is considered 'Completed'.
In production:
Within this state, the payment status should be EXECUTED or REJECTED depending depending on the effective result of the transfer.
EXECUTED
The payment was submitted to the bank, taken into account and immediately triggered.
Usecase of an instant payment or a classic intra-bank transfer. The transaction is considered 'Completed'.
AUTHORIZED then EXECUTED
In simulation: The payment has been submitted to the bank and taken into account. It will be triggered 2 minutes after being approved.
The transaction is considered accepted:
The notification linked to the 'Authorized' status will consider the transaction as 'Completed'.
The notification linked to the 'Executed' status will not modify either the status of the transaction or that of the operation.
REJECTED
Payment was submitted to the bank and immediately declined
The transaction is considered as REFUSED
FAILED
An error in the processing of the payment request has occurred
The transaction is considered as REFUSED
EXPIRED
A creation order has been placed. No payment has been triggered. The order is obsolete.
In simulation:
The transaction is considered refused
In production:
The expiration of a Payment initiation order is set at 30 days.
The transaction will be canceled after 30 minutes in 'in_progress' status.
AUTHORIZED then REJECTED
Only in simulation: The payment has been submitted to the bank and taken into account. It is triggered 2 minutes after it has been taken into account, but refused.
Example: An interbank transfer taken into account, but rejected during its actual execution (insufficient funds for example).
The notification linked to the 'Authorized' status will consider the transaction as 'Completed'.
The notification related to the status 'Rejected' will finally cancel the operation and refuse the transaction
Webhook Impact usecases Copy section link Copied!
Before getting into the examples, please read carefully the following informations :
Information 1: In PISP, the operationStatus 'R' is sent when the transfer process took place correctly, whether it is an instant transfer or a classic SCT.
- In an instant tack the 'R' is immediately followed by the 'W' (then the 'E')
- in classic SCT the 'R' is followed by the 'W' a few hours later (the delay depends on the bank), then one or two days later by the 'E'
Information 2: Each time the payment page is accessed by API call, a new transaction is created which generates one or many webhooks events.
You will find below a set of usecases and their associated webhooks.
The following webhooks are sent:
- Webhook operationstatus 'R' : Registered (it is mandatory to create an operation in contrary for the card because the return of the bank is not synchronous)
- Webhook 'C' : Cancelled with a relatedMsgStatus = 201
The following webhooks are sent:
- Webhook 'R' : registered
- 2 hours later, the transaction is recycled, Webhook 'C' : Cancelled with a relatedMsgStatus = 200
The following webhooks are sent:
- Webhook 'R' : Registered
- Webhook 'W' (almost at the same time): Transfer being collected
- Webhook 'E' : Transfer collected
Webhook details:
- OrderRefA reference 1 sent by the marketplace
- TransactionId 1
The following webhooks are sent:
- Webhook 'R' : Registered
- Webhook 'W': Transfer being collected (within 2 hours depending on the bank)
- Webhook 'E' : Transfer collected (within one or two days)
Webhook details:
- OrderRefA reference 1 sent by the marketplace
- TransactionId 1
The following webhooks are sent:
- Webhook 'R' : Registered
- Webhook 'C': Cancelled with a relatedMsgStatus = 201
The following webhooks are sent:
- Webhook 'R' : Registered
- Webhook 'C': Cancelled with a relatedMsgStatus = 201
The following webhooks are sent:
- Webhook 'R' : Registered
- Webhook 'C': Cancelled (within 2 hours)
The following webhooks are sent:
- Webhook 'R' : Registered
- Webhook 'W': Transfer being collected (almost instantly using payment initiation, within 2 hours using SCT classic)
- Webhook 'E' : Transfer collected (almost instantly using payment initiation, within one or two days using SCT classic)
Webhook details:
- OrderRefA reference 1 sent by the marketplace
- TransactionId 2