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
| Field | Type | Req | Description |
|---|---|---|---|
Request | string | Yes | Must be chargeTokenRecurrent |
CompanyToken | string | Yes | Token provided by DPO to authorize API operations |
TransactionToken | string | Yes | Token of the transaction to be charged |
subscriptionToken | string | Yes | Tokenized 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
| Field | Type | Description |
|---|---|---|
Result | integer | Response code returned by the API |
ResultExplanation | string | Text message describing the result |
Result Codes
| Code | ResultExplanation | Meaning / Action |
|---|---|---|
000 | Transaction successful | Payment completed successfully |
803 | Invalid or missing Request name | Ensure chargeTokenRecurrent |
888 | System error | Retry or contact support |
902 | Data mismatch | Verify TransactionToken or subscriptionToken |
950 | Missing mandatory fields | Check XML payload for missing tags |
991 | Encrypted string empty | Check encryption or formatting |
999 | Customer not found or unverified | Ensure 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.,
888system error). Avoid duplicate billing attempts. -
Automation: Ideal for use with scheduled backend jobs, CRON tasks, or automated billing workflows.

