OCT (Original Credit Transaction)
Push funds to a recipient's Visa card account — the reverse of a normal card payment. Used for payouts, refunds, commissions, and winnings.
An Original Credit Transaction (OCT) is a payment method that allows funds to be pushed to a recipient's Visa card account — reversing the typical flow of funds. Unlike traditional card payments where cardholders pay merchants, OCTs enable merchants to initiate payments to consumers for uses like payouts, refunds, commissions, and winnings.
Supported use cases
Paynetics supports OCT functionality for approved merchant categories across six transaction types:
- Account to Account (A) — transfers between two accounts belonging to the same person across different platforms or institutions.
- Funds Disbursement (F) — corporate or fintech bulk payouts for salary advances, loan disbursements, and affiliate rewards.
- Person to Person (P) — card-to-card transfers between individuals with distinct identities.
- Wallet Transfers (W) — transfers into digital wallets or apps pre-staged for payouts.
- Gaming & Gambling (G) — winnings or refund payouts from legal, regulated gambling merchants.
- Cryptocurrency (C) — off-ramping from crypto holdings into fiat currency for licensed partners.
Geographic support
Account to Account, Funds Disbursement, Person to Person, and Wallet Transfers enjoy broad support across Europe, MENA, Africa, the Americas, and APAC. Gaming & Gambling and Cryptocurrency use cases have more limited support, primarily in Western European countries, and require explicit scheme and underwriting approval.
Technical integration
OCT transactions use the POST /v1/oct endpoint of the Acquiring API. Merchants must provide transaction details including amount, currency, merchant token, funding balance token, recipient card information (either as a token or card details), recipient personal information, and transaction reference. The system accepts GBP, EUR, USD, and BGN currencies and requires secure tokenisation or encryption of cardholder card numbers.
Compliance and settlement
All merchants undergo underwriting, scheme registration, and risk checks. Gaming and cryptocurrency transactions may face issuer or Visa blocks even in eligible countries. Approved merchants must fund their OCT account via SEPA, SEPA Instant, Faster Payments, or BISERA. Daily reconciliation is available via SFTP with configurable fee models and settlement in supported currencies.
{
"balance": "8b1c1d20-1cf2-4ab7-92d3-3a3e7b6f12ab",
"merchant": "0a3b9b0a-93b3-4d51-8f23-e0e6e36a01ff",
"card_number": "4444333322221111",
"card_expiration_month": "12",
"card_expiration_year": "2030",
"industry_specific_transaction": "F",
"cardholder_name": "John Doe",
"reference": "payout-2026-05-03-001",
"amount": 250.00,
"currency": "EUR"
}
API reference
Live request / response schema, parameters, example payload, and cURL / Node / Python / PHP code samples — pulled from the OpenAPI spec for post_/v1/oct/{init}.
octPath parameters
| Name | Example | Description |
|---|---|---|
init |
— |
Token returned from /v1/init. Not required |
Request body
| Field | Type | Description |
|---|---|---|
card_
|
string (0,any) | |
card_
|
string (0,any) | |
balance
|
string (0,any) | |
first_
|
string (0,any) | |
last_
|
string (0,any) | |
birthday
|
string (0,any) | |
nationality
|
string (0,any) | |
aml_
|
string (0,any) | |
reference2
|
string (0,any) | |
industry_
|
string (0,any) | |
merchant
|
string (0,any) | |
terminal
|
string (0,any) | |
user
|
string (0,any) | |
currency
|
string (0,any) | |
card
|
string (0,any) | |
card_
|
string (0,any) | |
reference
|
string (0,any) | |
cardholder_
|
string (2,45) | |
cvv2
|
string (0,any) | |
mid
|
string (0,any) |
Example request
{
"card_expiration_month": "string",
"card_expiration_year": "string",
"balance": "string",
"first_name": "string",
"last_name": "string",
"birthday": "string",
"nationality": "string",
"aml_check": "string",
"reference2": "string",
"industry_specific_transaction": "string",
"merchant": "string",
"terminal": "string",
"user": "string",
"amount": "number",
"currency": "string",
"card": "string",
"card_number": "string",
"reference": "string",
"cardholder_name": "string",
"cvv2": "string",
"mid": "string",
"card_acceptor": {
"name": "string"
}
}
Response
| Field | Type | Description |
|---|---|---|
code
|
integer (0,any) |
Example response
{
"code": "integer",
"data": {
"card_number": "string",
"processing_code": "string",
"amount": "number",
"stan": "string",
"local_time": "string",
"local_date": "string",
"auth_code": "string",
"response_code": "string",
"card_acceptor_terminal_id": "string",
"card_acceptor_identification_code": "string",
"currency": "string",
"transaction": "string",
"external_transaction_id": "string",
"error_details": "string",
"cvv_status": "string",
"avs_status": "string",
"ccti_id": "string",
"transaction_stamp": "string",
"retrieval_reference_number": "string",
"card": "string",
"original_network_response_code": "string",
"action_code": "string",
"order": "string"
}
}