# Account-to-Account Payments

Account-to-Account Payments (bank transfer) is a new Worldline payment method. Transactions can be processed via the Saferpay JSON API. However, as also third party provider MSP and banks are involved in the process, there are a few things to consider.

## General requirements

The handling of Account-to-Account Payments with Saferpay requires:

* A corresponding license and thus a valid identification with a username and password for the Saferpay system.
* At least one active Saferpay terminal on which the payment can be carried out. This could be a Saferpay Payment Page or a Saferpay Secure PayGate terminal.
* A valid Account-To-Account acquiring contract

{% hint style="info" %}
The Account-to-Account transaction is approved and payment is guaranteed once funds are transferred to the Worldline account. Until that moment, the transaction remains in the pending status. In the case of real-time payment (SCT Inst.), the transaction is expected to be processed within several seconds. For other payments - up to 3-4 days. The transaction is expired if no status is received within the next 120 hours.

You can monitor the status on the "Pending Authorizations" page in the Backoffice:

<img src="https://3537448238-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fzpi9teY7Tm2pCZ1Bw8zO%2Fuploads%2F50Dto87wLfuQjrizrMss%2FpastedImage_7J3nc07X.png?alt=media&#x26;token=f8de9d48-cc53-4298-8608-6728e3fe1b0c" alt="" data-size="original">
{% endhint %}

### Technical requirements

The general integration of Account-to-Account Payments can only be done via the [Payment Page](https://docs.saferpay.com/home/integration-guide/licences-and-interfaces/payment-page) and requires the following things to be noted:

* As banks do not allow Iframe integration, Saferpay will break out of the Iframe, so the payment may be performed, using a full-size payment page.
* JSON API integration is only possible with the API version 1.38 or higher.&#x20;
* **Refund:**&#x20;
  * A refund cannot be cancelled, so make sure that you really want to execute it. The refund amount may be less than or equal to the original payment amount. Depending on the bank, it may take several days for the refund to be processed and paid out.
  * Note that the **CaptureId**, needed for a refund, is returned as part of the response of [Payment Page Assert](https://saferpay.github.io/jsonapi/#Payment_v1_PaymentPage_Assert).
  * Parameter **PaymentMethodsOptions.A2A.AccountHolderName:** The account holder name will be used if not already present in the authorization. If no account holder name is present in the authorization and none provided in the refund request, the refund cannot be processed.
* The parameters **`OrderId`** and **`PayerNote`** are limited to 50 characters.
* The notification URLs, inside the`Notification` container are **mandatory**, in order to avoid missing payment successes and also to [handle PENDING transactions](#handling-pending-transactions). See the [Payment Page process](https://docs.saferpay.com/home/licences-and-interfaces/payment-page#notification.successnotifyurl-and-notification.failnotifyurl) for further information.
* At checkout, the payment method could be described as follows: "Pay straight from your bank account through your online banking. It's simple,  secure and certified by European regulatory authorities."

### Supported features

| Feature                                                                                                           |                                                                                 Support                                                                                 |
| ----------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| Capture/[Cancel](https://docs.saferpay.com/home/licences-and-interfaces/capture-and-daily-closing#cancel)         |                                                                                 ❌**/**❌                                                                                 |
| Multipart Captures                                                                                                |                                                                                    ❌                                                                                    |
| Secure Card Data                                                                                                  |                                                                                    ❌                                                                                    |
| [Refunds](https://docs.saferpay.com/home/integration-guide/licences-and-interfaces/transaction-interface/refunds) | <p>✅</p><p><a href="https://docs.saferpay.com/home/integration-guide/payment-methods/account-to-account-payments#integration"><strong>Needs attention!</strong></a></p> |
| Recurring Payments                                                                                                |                                                                                    ❌                                                                                    |
| 3D Secure                                                                                                         |                                                                                    ❌                                                                                    |
| Dynamic Currency Conversion (DCC)                                                                                 |                                                                                    ❌                                                                                    |
| Mail Phone Order                                                                                                  |                                                                                    ❌                                                                                    |
| [Testing](#testing)                                                                                               |                                                                                    ✅                                                                                    |
| Secure PayGate                                                                                                    |                                                                                    ✅                                                                                    |

## Handling "PENDING" transactions

Account-to-Account Payments introduces a new status, that can be returned with the [Payment Page Assert](https://docs.saferpay.com/home/licences-and-interfaces/payment-page#id-4-paymentpage-assert), being **`PENDING`**.

This status means, that the final transaction status could not be determined in due time. This is due to some banks needing additional processing time, which can be up to 120 hours.

If a **`PENDING`** status is recieved, the merchant should display a message to the payer, telling them, that the payment is still in progress at their bank and that they'll be notified about the outcome, once it is received.

The merchant system will be notified via [the Notification URLs](https://docs.saferpay.com/home/licences-and-interfaces/payment-page#notification.successnotifyurl-and-notification.failnotifyurl), that have been defined with the [Payment Page Initialize request](https://docs.saferpay.com/home/licences-and-interfaces/payment-page#id-1-paymentpage-initialize-request). If the notification is received, the merchant system should execute the [Payment Page Assert](https://docs.saferpay.com/home/licences-and-interfaces/payment-page#id-4-paymentpage-assert), in order to ask for the transaction outcome.

Once the outcome is processed, the merchant should notify their customer about the outcome, be it positive, or negative.

### Forcing Instant payments

Saferpay offers an option, to enable "Instant Payments" for the merchant account, cutting down on the **`PENDING`** transactions and also the waiting time, should a **`PENDING`** status still occour.

This option is optional and has to be activated on the merchant account, if desired.

{% hint style="warning" %}
Some banks do not support instant payments. Activating this option on your account, will lead to some banks not being displayed for the payer and thusly will prevent some customers from being able to pay via Account-to-Account Payments.
{% endhint %}

### Inside the Saferpay Backoffice

**`PENDING`** transactions are handled within [a special section of the Saferpay Backoffice](https://docs.saferpay.com/home/interfaces/backoffice/transactions/pending-authorizations), to give you an overview of payments, that are still in progress.

## Testing

Please refer to [this chapter](https://docs.saferpay.com/home/integration-guide/testing-and-go-live#account-to-account), if you want to test Account-to-Account Payments.
