Introduction

Rapid Transfer is a payment method for Real-Time Bank Transfer provided by Skrill, a Paysafe Digital Wallet Solution, for quick and easy transactions from 170+ banks worldwide operating in 18+ countries through which you can deposit money into your Skrill wallet or pay online.

To access this account service, merchants must be onboarded with Skrill's solution.

The Payments API caters to the following needs for Rapid Transfer:

  • Payment Instrument: Rapid Transfer

  • Payment method: Real-Time Bank Transfer

  • Currencies: Available in 18+ Countries

Setup Requirements

For Paysafe to create a test account in the sandbox and production environment, we need the following details.

  • Merchant's Skrill Pay to Email

  • Merchant's Skrill account API/MQI Password

Transaction Types

Transaction types: Payments, Refunds, Payouts

Typical Scenarios

1. Rapid Transfer Payments

To process a transaction using Rapid Transfer the below steps have to be performed:

  1. Create a Payment Handle with the transactionType parameter set to PAYMENT and the paymentType parameter set to RAPID_TRANSFER using Payment Handles API

    • Post : paymenthub/v1/paymenthandles

  2. Customer has to complete payment authentication by providing bank details, Paysafe returns a response with the following:

    • The action parameter is set to REDIRECT

    • A payment_redirect link points to Skrill Page redirect URL

    • The status of the Payment Handle will be in INITIATED stage.

  3. After the user being redirected to the Skrill page using payment_redirect, the user must provide the IBAN along with their First Name and Last Name to proceed further on the Rapid Transfer page.

  4. The user can select the bank on the Rapid Transfer page, then log in to finish the transaction.

  5. After the completion of the transaction, the user is redirected to the success or failed page of the merchant, depending upon the status of the transaction.

  6. If the transaction is successful, the Payment Handle's status changes to PAYABLE; if it is unsuccessful, it changes to FAILED. The merchant is informed of this status change through a configured webhook.

  7. Use the paymentHandleToken returned in the response to process the Payment request.

    • paymenthub/v1/payments

The paymentId returned in the response should be stored at the merchant's end for future usage, since paymentId is needed for both refunds and withdrawals to directly deposit into the bank account that was used for the original transaction.

APIs to use: Payment Handles + Payments

2. Rapid Transfer Withdrawal/Standalone Credits

Following are the steps to follow in order to conduct a withdrawal transaction using Rapid Transfer:

Once a payment has been made through Rapid Transfer service, the user can only make a withdrawal to the same bank through which the payment was made. Multiple banks can be used and the withdrawal will be processed to the bank whose paymentId is given in the request.

  1. Create a Payment Handle with the transactionType parameter set to STANDALONE_CREDIT and the paymentType parameter set to RAPID_TRANSFER using Payment Handles API

    • Post : paymenthub/v1/paymenthandles

  2. The RAPID_TRANSFER object of the request will take 5 parameters:

  3. Parameter

    Description
    consumerId Unique email id of the user used to identify their account at Skrill's end
    countryCode (optional) Two-digit unique country code to identify the area of operation of a bank account and currency
    emailSubject Personalized subject of the email that would be triggered to the user informing them about the details of the transaction
    emailMessage Personalized body of the email that would be triggered to the user informing them about the details of the transaction
    paymentId

    This is the payment id from the previous transaction through which the bank details can be extracted and the withdrawal funds would be transferred without the user being asked to provide the information again.

    This serves to prevent fraudulent transactions, as only accounts which are used in deposit should be used for withdrawals.

  4. In Response, a one-time token would be received with the tag paymentHandleToken and the status would be PAYABLE, this token is then passed into the Standalone Credits API

    • Post: paymenthub/v1/standalonecredits

  5. The final response will contain the details of the transaction with parameters such as id - unique identifier at Paysafe end and gatewayReconciliationId - unique identifier at Skrill end and status of the transaction which could be used for future references.

  6. The status of the withdrawal will initially be in the PENDING state and will move to COMPLETED once the refund is processed to the user's bank account, at each step a webhook will be triggered to the merchant.

APIs to use: Payment Handles + Standalone Credits API

3. Rapid Transfer Refunds

Following are the steps to process a refund transaction using Rapid Transfer:

A refund transaction can only be initiated by the Merchant and for a transaction whose Settlement/Payment is completed.

  1. Once the Payment is done i.e. the status is COMPLETED in the response of Payments information the refund can be initiated using the payment ID.

  2. Create a refund request with the Refunds API

    • Post : /paymenthub/v1/settlements/{paymentId}/refunds

  3. The request will take an amount, which could be equal to what was in the Payments, or could be a partial refund with an amount lower than what was in the Payments.

  4. Multiple partial refunds can be initiated until the total sum of the amount is lesser than the initial payment amount.

  5. The response will contain the details of the payment completed and a unique identifier that could be used to refer to each individual refund, be it partial or full.

  6. The status of the refund will initially be in the PENDING state and will move to COMPLETED once the refund is processed to the user's bank account, at each step a webhook will be triggered to the merchant.

APIs to use: Refunds API

Did you find this page useful?