Charge a Stored Card (MIT)

Charge a stored card (MIT)

Charge a stored card when the agreed event happens, with a subsequent charge against the original order. The charge carries the agreement your customer made at setup, and the scheme transaction data that goes with it.

Before you start

  • The order reference and payment reference from a completed setup, where your customer finished authenticating and the card was stored.
  • A record of what your customer agreed to, and an event that matches it. Charging outside the agreed terms is what disputes are made of.
  • An access token.
🚧

Never send the security code

Do not include the card security code in a merchant-initiated request. It is collected once, during setup, and is not retained.

Request

ItemValue
MethodPOST
Resource (sandbox)https://api-gateway.sandbox.ngenius-payments.com/transactions/outlets/[your-outlet-reference]/orders/[order-reference]/payments/[payment-reference]/subsequent
AuthorizationBearer [access-token]
Content-Typeapplication/vnd.ni-payment.v3+json
Acceptapplication/vnd.ni-payment.v3+json
AttributeRequiredTypeDescription
amount.currencyCodeRequiredStringISO 4217 currency code
amount.valueRequiredIntegerAmount to charge, in minor units
{
  "amount": {
    "currencyCode": "AED",
    "value": 4500
  }
}

Response

Successful charge:

{
  "_id": "urn:payment:1c99c012-6057-42b3-85be-56e73aa8ec14",
  "reference": "1c99c012-6057-42b3-85be-56e73aa8ec14",
  "state": "PURCHASED",
  "amount": {
    "currencyCode": "AED",
    "value": 4500
  },
  "savedCard": {
    "maskedPan": "401200******1112",
    "expiry": "2028-12",
    "scheme": "VISA",
    "cardToken": "NDk0YWRlOTQtZWMwNi00N2I1LWJmZjktNDI3OThkZWIwZmE1"
  },
  "authResponse": {
    "authorizationCode": "092085",
    "success": true,
    "resultCode": "00",
    "resultMessage": "Successful approval/completion",
    "rrn": "418412254552"
  },
  "updateDateTime": "2026-09-07T11:15:00.000Z"
}

Declined charge. Read resultCode before you decide what to do next — see Declines and retries.

{
  "_id": "urn:payment:f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "reference": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "state": "FAILED",
  "amount": {
    "currencyCode": "AED",
    "value": 4500
  },
  "savedCard": {
    "maskedPan": "401200******1112",
    "expiry": "2028-12",
    "scheme": "VISA",
    "cardToken": "NDk0YWRlOTQtZWMwNi00N2I1LWJmZjktNDI3OThkZWIwZmE1"
  },
  "authResponse": {
    "success": false,
    "resultCode": "51",
    "resultMessage": "Insufficient funds",
    "recommendation": "RETRY_LATER",
    "rrn": "418412259981"
  },
  "updateDateTime": "2026-09-07T11:18:22.000Z"
}
AttributeDescription
referenceThe payment reference for this charge
statePURCHASED when the charge succeeds, FAILED when it is declined
authResponse.resultCodeThe response code. See Declines and retries
authResponse.recommendationPresent on some declines, for example RETRY_LATER

Common errors

What you seeWhat it usually means
state is FAILED with a resultCodeThe issuer declined the charge. What you do next depends on the category of the code — see Declines and retries.
The charge is rejected before it reaches the issuerThe card may have been revoked after an earlier hard decline, or the agreement was never completed. Do not retry — ask your customer for a new payment method.
© Network International LLC. All Rights Reserved.