Payment Requests

Payment Requests Endpoint

The payment requests endpoint allows you to create and retrieve payment requests.

GET /payment-requests

Retrieves a paginated list of payment requests.

Parameters:

  • client_account_id (required): The ID of the client account to retrieve payment requests for.
  • page: The page number to retrieve. Default is 1.
  • per_page: The number of results per page. Default is 10.

Example Request:

GET /api/v2/payment-requests?client_account_id=123

Example Response:

{
  "meta": {
    "records": 25,
    "per_page": 10,
    "page": 1,
    "pages": 3    
  },
  "data": [
    {
      "id": 1,
      "created_at": "2023-01-01T12:00:00Z",
      "created_by_id": 5,
      "client_account_id": 123,
      "payment_type": "local",
      "payment_means": "credit_transfer",
      "payment_status": "initiated",
      "transfers": [
        {
          "id": 1,
          "debtor": {
            "bank_account_id": 456
          },
          "creditor": {
            "bank_account_id": 789  
          },
          "requested_transfer_date": "2023-01-05",
          "payment_status": "initiated",
          "amount": 1500,
          "currency_code": "USD"
        }
      ]
    },
    {
      "id": 2,
      "created_at": "2023-01-02T09:30:00Z",
      "created_by_id": 7,  
      "client_account_id": 123,
      "payment_type": "international",
      "payment_means": "credit_transfer",
      "payment_status": "initiated",
      "transfers": [
        {
          "id": 2,
          "debtor": {
            "bank_account_id": 456
          },
          "creditor": {
            "bank_account_id": 987
          },
          "requested_transfer_date": "2023-01-07",
          "payment_status": "initiated",
          "amount": 2500,
          "currency_code": "EUR"  
        }
      ]
    }
  ]
}

GET /payment-requests/{id}

Retrieves a specific payment request by ID.

Parameters:

  • id: The ID of the payment request to retrieve.
  • client_account_id (required): The ID of the client account that owns the payment request.

Example Request:

GET /api/v2/payment-requests/1?client_account_id=123

Example Response:

Same as GET /payment-requests but for a single payment request object.

POST /payment-requests

Creates a new payment request.

Body Parameters:

  • client_account_id (required): The ID of the client account to create the payment request for.
  • payment_type (required): The payment type - local or international.
  • payment_means (required): The payment means - credit_transfer, direct_debit, etc.
  • transfers[] (required): Array of transfer objects.
    • debtor.bank_account_id (required): The payer’s bank account ID.
    • creditor.bank_account_id (required): The payee’s bank account ID.
    • requested_transfer_date: The requested transfer date.
    • amount (required): The transfer amount.
    • currency_code (required): The transfer currency code.

Example Request:

POST /api/v2/payment-requests

{
  "client_account_id": 123,
  "payment_type": "local",
  "payment_means": "credit_transfer",
  "transfers": [
    {
      "debtor": {
        "bank_account_id": 456  
      },
      "creditor": {
        "bank_account_id": 789
      },
      "requested_transfer_date": "2023-01-05",
      "amount": 1500,
      "currency_code": "USD"
    }
  ]
}

Example Response:

{
  "id": 1,
  "created_at": "2023-01-01T12:00:00Z",
  "created_by_id": 5,
  "client_account_id": 123,
  "payment_type": "local",
  "payment_means": "credit_transfer", 
  "payment_status": "initiated",
  "transfers": [
    {
      "id": 1,
      "debtor": {
        "bank_account_id": 456
      },
      "creditor": {
        "bank_account_id": 789
      },
      "requested_transfer_date": "2023-01-05",
      "payment_status": "initiated",
      "amount": 1500,
      "currency_code": "USD"
    }
  ]
}

Relations

The with query parameter can be used to request related objects:

GET /payment-requests?with=transfers.debtor.bank_account

This will include the debtor bank account object in the response.

The following relations are available:

  • transfers.debtor.bank_account: Include debtor bank account in transfers
  • transfers.creditor.bank_account: Include creditor bank account in transfers

Relaterte artikler