Issuin icon

Make a payment

Learn how to process online and in-person payments in combination with your Issuing integration.

Using Adyen's payment processing platform, you can process online or in-person payments from your customers. The revenue from these payments are booked to your balance platform, and can be used to fund your Adyen-issued cards.

Requirements

Take into account the following requirements, limitations, and preparations to start processing payments.

Requirement Description
Integration type For online payments:
You must have an Adyen online payments integration and a checkout UI.

For in-person payments: For in-person payments with Adyen, your POS app must be integrated with the Terminal API and then either use payment terminals or a Mobile solution. The standalone solution can serve as a fallback.
API credentials You must have credentials for the following APIs:
Webhooks Ensure that your server can receive and accept standard webhooks.
Subscribe to any of the following webhooks:
Capabilities Make sure that your account holders have the following capabilities:
  • receivePayments
  • receiveFromPlatformPayments
  • sendToTransferInstrument

Online payments

To process an online payment from your customer:

  1. Make a POST /payments or POST /sessions request, specifying the following parameters:

    Parameter Required Description
    amount -white_check_mark- The value and currency of the payment, in minor units.
    merchantAccount -white_check_mark- The unique identifier of the merchant account through which the payment is processed.
    paymentMethod -white_check_mark- The type and required details of a payment method your customer used.
    reference -white_check_mark- Your unique reference to identify the payment.
    returnUrl -white_check_mark- The URL to return to in case of a redirection.

    The following example shows the payment request you must make when a customer makes a payment of EUR 200.00:

  2. Note the response, which informs you if the payment was successful.

In-person payments

To process an in-person payment from your customer:

  1. Make a POST PaymentRequest request. In your request, specify:

    • The standard SaleToPOIRequest.MessageHeader object, with MessageClass set to Service and MessageCategory set to Payment.

      Parameter Required Description
      ProtocolVersion -white_check_mark- 3.0
      MessageClass -white_check_mark- Service
      MessageCategory -white_check_mark- Payment
      MessageType -white_check_mark- Request
      ServiceID -white_check_mark- Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (POIID) being used.
      SaleID -white_check_mark- Your unique ID for the POS system component to send this request from.
      POIID -white_check_mark- The unique ID of the terminal to send this request to. Format: [device model]-[serial number].
    • The PaymentRequest object with:

      Parameter Required Description
      SaleData.SaleTransactionID -white_check_mark- An object with:
      • TransactionID: Your reference to identify a payment. We recommend using a unique value per payment. In your Customer Area and Adyen reports, this will show as the merchant reference for the transaction.
      • TimeStamp: The date and time of the request in UTC format.
      PaymentTransaction.AmountsReq -white_check_mark- An object with:
      • Currency: The transaction currency.
      • RequestedAmount: The transaction amount.
        Specify the amount with a decimal point. Do not use minor units. For example, for an amount of USD 10, enter 10.00 (not 1000).

    The following example shows the payment request you must make when a customer makes a payment of EUR 200.00:

    The payment request is routed to the terminal or mobile device, for the customer to complete the payment. The payment is approved, and then sent to the Adyen payments platform for processing.

  2. When you receive the PaymentResponse, check the following parameters:

    • POIData.POITransactionID.TransactionID: The transaction identifier for the payment consisting of the tender reference followed by the PSP reference. For example, in the transaction identifier BV0q001765198054002.CWBC43ZX2VTFWR82, the PSP reference is CWBC43ZX2VTFWR82.
    • Response.Result: Success
    • PaymentReceipt: The object with data you can use to generate a receipt.

    You can also view this information in your Customer Area. To view the details of the payment, go to Transactions > Payments.

Webhooks

Adyen sends webhooks to inform you of payment-related events that occur in your balance platform. Subscribe to the Transfer webhooks and Transaction webhooks to keep track of these events and their status.