Skip to main content

Documentation

Pair Payment Device

Pair a payment device with a Rapyd wallet. This operation assigns a unique ID to the device and connects it to the merchant's wallet.

This API endpoint establishes a connection between a payment device and the Rapyd system, enabling seamless communication. It returns the necessary credentials that are used to configure the device, ensuring that funds are accurately routed to the associated merchant account during a transaction. This step is mandatory, as without it, funds will not be sent to the merchant for transactions carried out with the payment device. When you receive the device credentials (device_id and merchant_id), you can use them in the hardware manufacturer's management system (for example, PAX Store) to configure the payment device during the deployment of the Rapyd Core app. Alternatively, if you develop your own payment application (not relying on the Rapyd Core app), make sure to include these IDs in your transaction requests to ensure proper integration.

Note

The merchant must encode the value of the device_id response parameter on the device using the manufacturer's instructions.

Note

  • /v1/api/public/onboarding/pair

  • Pair Payment Device

  • curl -X post
    'https://sandboxapi.rapyd.net/v1/api/public/onboarding/pair' \
    -H 'access_key: your-access-key-here' \
    -H 'Content-Type: application/json' \
    -H 'idempotency: your-idempotency-parameter-here' \
    -H 'salt: your-random-string-here' \
    -H 'signature: your-calculated-signature-here' \
    -H 'timestamp: your-unix-timestamp-here' \
    --data-raw '{
      "merchant_ewallet": "ewallet_b97730030da9cb3d567977672331fa88",
      "settlement_ewallet": "ewallet_42dbfb7fd7638a95d6ba084ac07dec1e",
      "currency": "EUR"
    }'
  • {
        "status": {
            "error_code": "",
            "status": "SUCCESS",
            "message": "",
            "response_code": "",
            "operation_id": "d7f0efba-d22a-4974-af94-76027d7ea0ab"
        },
        "data": {
    		"device_id": "00001473",
    		"merchant_id": "08H7fg65"
        }
    }
  • Bad Request - Invalid Currency

  • curl -X post
    'https://sandboxapi.rapyd.net/v1/api/public/onboarding/pair' \
    -H 'access_key: your-access-key-here' \
    -H 'Content-Type: application/json' \
    -H 'idempotency: your-idempotency-parameter-here' \
    -H 'salt: your-random-string-here' \
    -H 'signature: your-calculated-signature-here' \
    -H 'timestamp: your-unix-timestamp-here' \
    --data-raw '{
      "merchant_ewallet": "ewallet_b97730030da9cb3d567977672331fa88",
      "settlement_ewallet": "ewallet_42dbfb7fd7638a95d6ba084ac07dec1e",
      "currency": "USD"
    }'
  • {
        "status": {
            "error_code": "ERROR_UNSUPPORTED_CURRENCY",
            "status": "ERROR",
            "message": "The request attempted an operation that requires a currency, but the value is not supported. The request was rejected. Corrective action: Use a supported currency.",
            "response_code": "ERROR_UNSUPPORTED_CURRENCY",
            "operation_id": "5a4e274d-e5b3-4ba7-9156-98d6ef024681"
        }
    }
  • Bad Request - Missing Required Field

  • curl -X post
    'https://sandboxapi.rapyd.net/v1/api/public/onboarding/pair' \
    -H 'access_key: your-access-key-here' \
    -H 'Content-Type: application/json' \
    -H 'idempotency: your-idempotency-parameter-here' \
    -H 'salt: your-random-string-here' \
    -H 'signature: your-calculated-signature-here' \
    -H 'timestamp: your-unix-timestamp-here' \
    --data-raw '{
      "merchant_ewallet": "ewallet_b97730030da9cb3d567977672331fa88",
      "settlement_ewallet": "",
      "currency": "EUR"
    }'
  • {
        "status": {
            "error_code": "INVALID_FIELDS - [settlement_ewallet]",
            "status": "ERROR",
            "message": "The request attempted an operation, but one or more of the fields did not have a valid value. The request was rejected. Corrective action: Use valid values. The names of the affected fields appear at the end of the error code. See the API Reference for details.",
            "response_code": "INVALID_FIELDS - [settlement_ewallet]",
            "operation_id": "5c103b2c-d7d8-4506-ad92-40a2f513380a"
        }
    }
  • Unauthorized

  • curl -X post
    'https://sandboxapi.rapyd.net/v1/api/public/onboarding/pairr' \
    -H 'access_key: your-access-key-here' \
    -H 'Content-Type: application/json' \
    -H 'idempotency: your-idempotency-parameter-here' \
    -H 'salt: your-random-string-here' \
    -H 'signature: your-calculated-signature-here' \
    -H 'timestamp: your-unix-timestamp-here' \
    --data-raw '{
      "merchant_ewallet": "ewallet_b97730030da9cb3d567977672331fa88",
      "settlement_ewallet": "ewallet_42dbfb7fd7638a95d6ba084ac07dec1e",
      "currency": "EUR"
    }'
  • {
        "status": {
            "error_code": "UNAUTHENTICATED_API_CALL",
            "status": "ERROR",
            "message": "The request was rejected due to an authentication issue. Corrective action: Check the status of your account in the 'Account Details' page of the Client Portal.",
            "response_code": "UNAUTHENTICATED_API_CALL",
            "operation_id": "95c8c6bf-418a-446b-932c-e0979517708e"
        }
    }