Skip to main content

Documentation

Authorizing a Card Transaction Remotely

Process requests and authorize card transactions. | Enterprise

Rapyd's clients can process card transaction authorizations on a remote server. This use case follows the course of a successful card transaction.

For example, the customer has a card that was issued via the Rapyd issuing platform. The card is funded by the client's wallet. The customer uses the card at a bricks-and-mortar retail location to buy a luxury watch for 1,200.00 USD (U.S. Dollars).

The card processor notifies Rapyd of the transaction. Rapyd sends an authorization request to the client's remote authorization server.

The client notifies Rapyd that the transaction is authorized. Rapyd notifies the card processor that the transaction was approved.

Rapyd notifies the card network that the transaction is authorized. When Rapyd receives notification that the transaction is completed successfully, Rapyd notifies the client.

Remote Authorization Workflow

Let’s look at the highlights of your workflow.

Step 1: Receiving the Transaction
receiving-transaction.jpg
  1. The card network notifies Rapyd of the transaction.

  2. Rapyd sends a request for transaction authorization.

  3. Your authorization server authorizes the transaction and sends a webhook to Rapyd with the status of the authorization.

Step 2: Processing the Transaction
process-transaction.jpg
  1. Rapyd notifies the card network that the transaction is authorized.

  2. The card network notifies Rapyd that the transaction is complete.

  3. Rapyd charges the client wallet and notifies the client that the transaction is complete.

How Authorizing a Card Transaction Remotely Works

Prerequisites

You must set up your own authorization server, as detailed in Setting Up a Remote Authorization Server.

Rapyd sends you an authorization request for the customer's purchase.

    • Remote Authorization Request

      • {
            "amount": 1200,
            "authorization_id": "cardauth_874618744ffs3r452",
            "card_id": "card_874618744ffs3r452",
            "contact_id": "cont_874618744ffs3r452",
            "created_at": 1352316334,
            "currency": "USD",
            "pos_info": {
                "card_holder_presence": true,
                "identification_code": "GYUI",
                "mcc": "5812",
                "name_and_location": "RITE AID 2244 CORNER ST. MEXICO CITY",
                "terminal_id": "7865"
            },
            "status": "PENDING",
            "type": "authorization"
        }

You process the request and authorize the transaction.

Supported Currencies for Authorized Transactions

Some currencies are not supported for issued card transactions. If a card transaction uses an unsupported currency, then the authorization for that card transaction will be blocked.

The merchant will be notified via webhook. The error code is the decline_code field with a value of 57. See Authorization Declined Webhook for more information.

You return a response to Rapyd in the required JSON format, indicating that the transaction is approved.

    • Remote Authorization Response

      • {
            "authorization_id": "cardauth_874618744ffs3r452",
            "response_code": "00",
            "auth_code": "1A2B3C"
        }

Rapyd transfers 1,200.00 USD (U.S. Dollars) from the client's wallet to the card network. The client transfers the same amount from the customer's personal wallet to the client's wallet.