Payments

Authenticate the current payment

Changed on

Some circuit have authentication restrictions which requires an extra step. This endpoint is here to allow you to make that extra steps. It happens after a payment has been requested and when that payment moved to the "action_required" state.

post/payment-intents/{id}/authentication

Request

  • The document declares no server URL.
  • Auth
    none declared. Required headers: ApiKey, MerchantId, Environment

Path parameters

idstring required

Identifier of the PaymentIntent requiring authentication.

Headers

ApiKeystring required

Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.

MerchantIdstring required

Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.

Environment'live' | 'sandbox' required

Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.

Request body

tokenstring required

The token which identify a payment intent. This is a field returned at payment intent creation.

confirmationCodestring required

The OTP code given by the provider selected by the customer.

Example request

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbnRlbnRJZCI6InBpXzBkeV9GZTJXQl8wNVVBdDdqMFloaSIsIm1lcmNoYW50SWQiOiIzIiwibW9kZSI6InNhbmRib3giLCJpYXQiOjE2OTUxMjY1MDJ9.8cpkja3PgSLFXiMW9BJN3ec5ndJFE2kIHvXvc834Wpo"
}

Response

idstring required

Unique identifier for the PaymentIntent

merchantIdstring required

Identifier of the merchant owning this PaymentIntent

createdAtstring required

Datetime in UTC timezone at which this object was created. Follows the Datetime ISO.

updatedAtstring required

Datetime in UTC timezone at which this object was updated for the last time . Follows the Datetime ISO.

tokenstring required

A unique JSON Web Token allowing to attempt a Payment on the PaymentIntent on a client-side application. It expires 30 minutes after the PaymentIntent creation: paying or authenticating with it is then refused with a 401 bad_payment_intent_token error, and reading the PaymentIntent with it (status, details, fees) is refused the same way 15 minutes later.

purchaseReferencestring required

A reference provided by the client during the creation of this PaymentIntent

customerReferencestring required

A reference provided by the client during the creation of this PaymentIntent. It is a reference to the customer for who this PaymentIntent was created.

status'action_required' | 'canceled' | 'failed' | 'payment_required' | 'processing' | 'successful' required

The current status of this PaymentIntent

amountnumber required

Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).

currencystring required

Three-letter ISO currency code.

mode'live' | 'sandbox' required

Mode in which this PaymentIntent exists. The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode. The live mode has to be used to make real transactions.

overrideBusinessNamestring

For Aggregator, name of the merchant

subMerchantIdstring

Submerchant ID

Example response

{
  "id": "pi_z1urYtVFgEebtcj8fxp4v",
  "createdAt": "2020-10-15T12:09:49.355Z",
  "updatedAt": "2020-10-15T12:16:26.128Z",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudElkIjoiMTYiLCJtb2RlIjoic2FuZGJveCIsInBheW1lbnRJZCI6InBpX3oxdXJZdFZGZ0VlYnRjajhmeHA0diIsImlhdCI6MTYwMjc1OTE4M30.OZ0fDnMVWvcT-gRthyBD58PFC20gabGKt1UPRe4aNi4",
  "purchaseReference": "ref_2020_11_10_001",
  "customerReference": "cust_01924059",
  "status": "successful",
  "amount": 100,
  "currency": "XOF",
  "payments": [
    {
      "id": "pay_QW2d6JnqiatcH8KhK0mD1",
      "intentId": "pi_z1urYtVFgEebtcj8fxp4v",
      "createdAt": "2020-10-15T12:09:49.355Z",
      "updatedAt": "2020-10-15T12:16:26.128Z",
      "status": "successful",
      "amount": 100,
      "currency": "XOF",
      "method": "credit_card",
      "country": "CI",
      "fees": [
        {
          "id": "fee_lAe5HnFpvOjwdT9vSIgPA",
          "amount": 5,
          "currency": "XOF",
          "taxes": [
            {
              "id": "tax_lAe5HnFpvOjwdT9vSIgPA",
              "feeId": "fee_lAe5HnFpvOjwdT9vSIgPA",
              "taxType": "tva",
              "type": "percent",
              "value": 3.813559322033896
            }
          ]
        }
      ],
      "nextAction": {
        "data": {
          "method": "post"
        }
      },
      "paymentInformation": {
        "customer_id_hashmac": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
      },
      "onSuccessRedirectionUrl": "https://my.website.com/finish",
      "onFailedRedirectionUrl": "https://my.website.com/cancel"
    }
  ],
  "mode": "live",
  "nextAction": {
    "data": {
      "method": "post"
    }
  },
  "overrideBusinessName": "MyBusiness",
  "subMerchantId": "submerchant_123"
}

Changes

    • breaking

      the /////////// response property's maxLength was increased from 50 to 64 for the response status

    • breaking

      the /////////// response property's maxLength was increased from 50 to 64 for the response status

    • breaking

      the /////////// response property's maxLength was increased from 50 to 64 for the response status

    • breaking

      the ///////// response's property type changed from string to object for status

    • breaking

      the ///////// response's property type changed from string to object for status

    • breaking

      the ///////// response's property type changed from string to object for status

    • breaking

      removed the required property ////// from the response with the status

    • breaking

      removed the required property ////// from the response with the status

    • breaking

      removed the required property ////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      removed the optional property /////////// from the response with the status

    • warning

      added the new consent_reference_in_use enum value to the ///// response property for the response status

    • warning

      added the new consent_reference_in_use enum value to the /////////// response property for the response status

    • warning

      added the new consent_reference_in_use enum value to the /////////// response property for the response status

    • warning

      added the new consent_reference_in_use enum value to the /////////// response property for the response status

    • warning

      added the new instant_payment enum value to the ////// response property for the response status

    • warning

      added the new instant_payment enum value to the ////// response property for the response status

    • warning

      added the new instant_payment enum value to the ////// response property for the response status

    • warning

      added the new issuer_authentication_unavailable enum value to the ///// response property for the response status

    • warning

      added the new issuer_authentication_unavailable enum value to the /////////// response property for the response status

    • warning

      added the new issuer_authentication_unavailable enum value to the /////////// response property for the response status

    • warning

      added the new issuer_authentication_unavailable enum value to the /////////// response property for the response status

    • warning

      added the new recipient_unavailable enum value to the ///// response property for the response status

    • warning

      added the new recipient_unavailable enum value to the /////////// response property for the response status

    • warning

      added the new recipient_unavailable enum value to the /////////// response property for the response status

    • warning

      added the new recipient_unavailable enum value to the /////////// response property for the response status

    • warning

      added the new reconciliation_failure enum value to the ///// response property for the response status

    • warning

      added the new reconciliation_failure enum value to the /////////// response property for the response status

    • warning

      added the new reconciliation_failure enum value to the /////////// response property for the response status

    • warning

      added the new reconciliation_failure enum value to the /////////// response property for the response status

    • info

      added the non-success response with the status

    • info

      added mobile_money credit_card bank_transfer discriminator mapping keys to the response property for the response status

    • info

      removed the blacklisted_msisdn enum value from the ///// response property for the response status

    • info

      removed the blacklisted_msisdn enum value from the /////////// response property for the response status

    • info

      removed the blacklisted_msisdn enum value from the /////////// response property for the response status

    • info

      removed the blacklisted_msisdn enum value from the /////////// response property for the response status

    • info

      the /////////// response's property pattern ^[0-9a-fA-F]{64}$ was added for the status

    • info

      the /////////// response's property pattern ^[0-9a-fA-F]{64}$ was added for the status

    • info

      the /////////// response's property pattern ^[0-9a-fA-F]{64}$ was added for the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status