Charge Token Recurrent

Use chargeTokenRecurrent to process a recurring charge for a customer who has previously subscribed and stored a payment token with your company.

This request allows you to bill a customer automatically using their subscription token, without requiring them to re-enter card details.

Common use: automate subscription payments or recurring billing for verified Super Wallet customers.


Endpoint

POST https://secure.3gdirectpay.com/API/v6/

Headers

Content-Type: application/xml; charset=utf-8
Accept: application/xml

Request

Required Fields

FieldTypeReqDescription
RequeststringYesMust be chargeTokenRecurrent
CompanyTokenstringYesToken provided by DPO to authorize API operations
TransactionTokenstringYesToken of the transaction to be charged
subscriptionTokenstringYesTokenized card reference of the subscribed customer

Example Request (XML)

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <CompanyToken>68B90B5E-25F6-4146-8AB1-C7A3A0C41A7F</CompanyToken>
  <Request>chargeTokenRecurrent</Request>
  <TransactionToken>3AB58C3C-796F-4FA9-A333-72E75250778E</TransactionToken>
  <subscriptionToken>9C6BB1D2-B2DE-46B3-8AD7-409168936DDA</subscriptionToken>
</API3G>

Use this API for recurring payments, such as subscriptions, memberships, or scheduled billing cycles.


Response

Example Success Response (XML)

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <Result>000</Result>
  <ResultExplanation>Transaction successful</ResultExplanation>
</API3G>

Field Reference

FieldTypeDescription
ResultintegerResponse code returned by the API
ResultExplanationstringText message describing the result

Result Codes

CodeResultExplanationMeaning / Action
000Transaction successfulPayment completed successfully
803Invalid or missing Request nameEnsure chargeTokenRecurrent
888System errorRetry or contact support
902Data mismatchVerify TransactionToken or subscriptionToken
950Missing mandatory fieldsCheck XML payload for missing tags
991Encrypted string emptyCheck encryption or formatting
999Customer not found or unverifiedEnsure tokens are active and verified

Typical Usage Flow

sequenceDiagram
  participant M as Merchant
  participant D as DPO API

  M->>D: chargeTokenRecurrent<br/>(CompanyToken, TransactionToken, subscriptionToken)
  D-->>M: Result 000 + Transaction successful
  M->>M: Mark subscription renewal as paid
  Note over M,D: Ideal for monthly or scheduled recurring billing

Notes & Best Practices

  • Purpose: Designed for recurring or scheduled payments for previously subscribed customers.

  • Prerequisite: The customer must have an active Super Wallet account with a valid subscriptionToken.

  • Security: Never expose or log tokens. Handle them with the same care as sensitive payment data.

  • Error handling:

    • 000 → Success — mark the invoice/renewal as paid.
    • 999 → Customer unverified or not found — prompt re-verification.
    • 950 → Missing field — check XML completeness.
  • Retries: Only retry on transient failures (e.g., 888 system error). Avoid duplicate billing attempts.

  • Automation: Ideal for use with scheduled backend jobs, CRON tasks, or automated billing workflows.