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:

  1. The buyer validates his cart on the Marketplace website
  2. The buyer selects Payment Initiation as a payment method on the marketplace
  3. The buyer inserts his IBAN
  4. AgoraPay verifies the payment method eligibility
  5. The buyer is redirected to his bank to finalize the transaction
  6. When transaction is completed, AgoraPay informs the buyer that the transaction is completed
  7. 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:

  1. The buyer validates his cart on the Marketplace website
  2. AgoraPay sends a personalized URL to the Marketplace
  3. The buyer selects Payment Initiation as a payment method on the marketplace
  4. The buyer selects "bank" as a payment method
  5. 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
  6. The buyer selects his bank and is redirected to it
  7. When transaction is completed, AgoraPay updates the transaction status and informs the buyer that transaction is completed
  8. 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:

  1. The buyer selects Payment Initiation as a payment method on the marketplace
  2. The buyer inserts his IBAN
  3. AgoraPay verifies the payment method eligibility
  4. The payment is rejected
  5. 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.

Refused transfer

The following webhooks are sent:

  1. 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)
  2. Webhook 'C' : Cancelled with a relatedMsgStatus = 201
Attempted transfer then abandoned by the client

The following webhooks are sent:

  1. Webhook 'R' : registered
  2. 2 hours later, the transaction is recycled, Webhook 'C' : Cancelled with a relatedMsgStatus = 200
Successful instant transfer by the client

The following webhooks are sent:

  1. Webhook 'R' : Registered
  2. Webhook 'W' (almost at the same time): Transfer being collected
  3. Webhook 'E' : Transfer collected

Webhook details:

  • OrderRefA reference 1 sent by the marketplace
  • TransactionId 1
Successful payment initiation transfer in SCT classic

The following webhooks are sent:

  1. Webhook 'R' : Registered
  2. Webhook 'W': Transfer being collected (within 2 hours depending on the bank)
  3. Webhook 'E' : Transfer collected (within one or two days)

Webhook details:

  • OrderRefA reference 1 sent by the marketplace
  • TransactionId 1
Successful transfer in SCT classic but payment initiation refused

The following webhooks are sent:

  1. Webhook 'R' : Registered
  2. Webhook 'C': Cancelled with a relatedMsgStatus = 201
Successful transfer in SCT classic but payment initiation refused

The following webhooks are sent:

  1. Webhook 'R' : Registered
  2. Webhook 'C': Cancelled with a relatedMsgStatus = 201
Transfer not made by the customer in payment initiation, in classic SCT

The following webhooks are sent:

  1. Webhook 'R' : Registered
  2. Webhook 'C': Cancelled (within 2 hours)
New transfer made successfully by the same customer (instant or classic transfer)

The following webhooks are sent:

  1. Webhook 'R' : Registered
  2. Webhook 'W': Transfer being collected (almost instantly using payment initiation, within 2 hours using SCT classic)
  3. 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