OCT (Original Credit Transaction)

Prev Next

✅ What is an OCT?

An Original Credit Transaction (OCT) allows funds to be pushed to a recipient’s Visa card account—reversing the typical flow of funds. This enables real-time or near-real-time payouts to end-users globally, as long as their issuing bank and region support inbound OCTs.

Unlike standard card payments (where the cardholder pays the merchant), OCTs allow merchants to initiate payments to consumers—perfect for use cases like payouts, refunds, commissions, winnings, or transfers.


🧾 OCT with Paynetics: Scope and Capabilities

Paynetics supports OCT functionality as part of our acquiring solution and only for approved merchant categories.

Supported Transaction Types (Use Cases)

Code

Use Case Description

A

Account to Account – Same person transfers from one account to another

F

Funds Disbursement – Loans, insurance payouts, salary advances, refunds, etc.

P

Person to Person – Card-to-card transfers between different individuals

W

Wallet Transfers – Pay-outs to digital or mobile wallets linked to a Visa card

G

Gaming & Gambling – Winnings or balance withdrawals from licensed gambling operators

C

Cryptocurrency – Fiat payout from a regulated crypto provider after liquidation

Merchants can be approved for one or multiple use cases based on their MCC and regulatory footprint.


💡 Use Case Breakdown

1. Account to Account (A)

Funds moved between two accounts belonging to the same person across platforms or institutions.
📌 Example: A user transfers funds from a trading app to their own Visa debit card.


2. Funds Disbursement (F)

Bulk payouts initiated by a corporate or fintech for use cases like:

  • Salary advances

  • Loan disbursement

  • Cashback or affiliate rewards

📌 Typically used by payroll, lenders, or gig platforms.


3. Person to Person (P)

Card-to-card transfer between two individuals with distinct identities.
📌 Example: A user sends €50 to a friend’s Visa card.


4. Wallet Transfers (W)

Transfers into digital wallets or apps pre-staged for payouts.
📌 Example: A user transfers their funds from a merchant’s account into their Visa-linked wallet.


5. Gaming & Gambling (G)

Allows for winnings or refund payouts from legal, regulated gambling merchants.
📌 Example: A customer withdraws €200 from their online casino account.


6. Cryptocurrency (C)

Used for off-ramping from crypto holdings into fiat.
📌 Example: A user cashes out from a crypto platform to their Visa card (after conversion to fiat).
📌 Available only for licensed and approved partners with MCC 6051 or similar.


🌍 Visa OCT – Supported Countries by Use Case

Below is a simplified view of countries where Visa allows inbound OCT transactions, grouped by use case:

🟢 Account to Account / Funds Disbursement / P2P / Wallet Transfers

These use cases share broad support in the following countries:

  • Europe & UK: Austria, Germany, France, Italy, United Kingdom, Poland, Norway, Netherlands, Belgium, Spain

  • MENA: UAE, Saudi Arabia, Egypt, Israel, Morocco

  • Africa: South Africa, Kenya

  • Americas: Canada, Mexico, Argentina, Chile

  • APAC: Australia, Singapore, India, Malaysia, Philippines, South Korea, Hong Kong, Pakistan

  • Other: Ukraine, Uzbekistan


🟡 Gaming & Gambling

  • Austria, Germany, France, Italy, United Kingdom, Poland, Netherlands, Belgium, Spain


🟡 Cryptocurrency

  • Austria, Germany, France, Italy, United Kingdom, Poland, Netherlands, Belgium, Spain

⚠️ These use cases require explicit scheme and underwriting approval and may be blocked by some issuers or regulators.


🔁 OCT Money Flow Example

Here’s a standard Visa OCT transaction flow in the Paynetics setup:

📄 P2P Money Flow Example (simplified diagram from internal PDF):

  1. Sender initiates transfer via wallet or API (Paynetics merchant)

  2. Paynetics routes the transaction to Visa

  3. Visa routes to the recipient’s issuer

  4. Recipient sees funds posted to their eligible Visa card


⚙️ Integration & Technical Onboarding

  • Access via Paynetics Acquiring API

  • Pre-approved transaction codes used for classification (A, F, P, W, G, C)

  • No card pull involved—only push-to-card capabilities

❗Cardholder card number (PAN) must be securely tokenized or passed encrypted.


🔐 Compliance & Risk

  • All merchants are subject to underwriting, scheme registration, and risk checks

  • For gaming and crypto, issuer or Visa blocks may apply even in eligible countries

  • Approved merchants must fund their OCT account via SEPA / SEPA Instant / Faster Payments / BISERA


📈 Reporting & Settlement

  • Daily reconciliation available via SFTP

  • Configurable fee models: flat, % or blended

  • Settlement in supported currencies: EUR, GBP, BGN


📄 Final Notes

  • Visa OCT is a powerful tool for merchant disbursements and payouts—but success depends on clear use case mapping, scheme approval, and compliance onboarding.

  • The above list serves as a reference, not a guaranteed list of enabled BINs or schemes. Please validate live eligibility for sensitive use cases (e.g. crypto, gaming) before merchant onboarding.

Fields

The execute an OCT transfer use the POST /v1/oct endpoint of the Acquiring API Access to the Acquiring API swagger is private. It will be provided to you upon request. 

Below are the response fields for the use cases Gambling & Gaming & Funds disbursement. The fields for the specific use cases A2A and P2P are provided here: Push-to-card P2P A2A

Fields

Description

amount

The amount of the OCT

Data Type

Number, min 0.01

Required

Yes

currency

The currency of the OCT

Data Type

ISO 4217 Currency code, Accepted currencies GBP, EUR, USD, BGN

Required

Yes

merchant

The token of the merchant sending the OCT.

Data Type

UUID

Required

Yes

balance

The token of the balance of the funding account of the merchant which will be used to send the OCT. The balance must be in the same currency as the currency of the OCT. If the currency of the balance is different than the currency of the OCT an error will be thrown.

Data Type

UUID

Required

Yes

card

The token of the card to which the OCT will be sent to

Data Type

UUID

Required

Conditional: required only if no card number (PAN), card expiry date and cardholder name are not provided. You can either send funds to a card token or by specifying the card details.

card_number

The PAN of the card to which the OCT will be sent to

Data Type

STRING, length 16

Required

Conditional: required only if no card attribute provided

card_expiration_month

The month on which the card to which the OCT will be sent to expires

Data Type

STRING, “01” to “12”

Required

Conditional: required only if no card attribute provided

card_expiration_year

The year on which the card to which the OCT will be sent to expires

Data Type

STRING, min current year

Required

Conditional: required only if no card attribute provided

cardholder_name

The emboss name of the card to which the OCT will be sent to

Data Type

STRING, max 27 chars

Required

Conditional: required only if no card attribute provided

first_name

The first name of the recipient of the OCT

Data Type

STRING

Required

Yes

last_name

The last name of the recipient of the OCT

Data Type

STRING

Required

Yes

birthday

The birthday of the recipient of the OCT

Data Type

ISO 8601 date

Required

Yes

nationality

The nationality of the recipient of the OCT

Data Type

ISO 3166 (alpha-2), see list of supported country recepients

Required

Yes

reference

Reference field to be used for reconciliation, fill the unique id of the transaction in your system

Data Type

STRING

Required

Yes

industry specific transaction

OCT identifier

Data Type

STRING, possible values:

“F” - Funds Disbursement

“G” - Gaming&Gambling

“C” - Cryptocurrency

Required

Yes

terminal

The terminal ID through which you are sending the OCT

Data Type

STRING

Required

Yes

Response Parameters

code

The result of the opera ration, code 0 indicates success

Data Type

Integer

Required

Yes

data.card_number

The PAN of the card to which the OCT will be sent to

Data Type

STRING, length 16

Required

Yes

data.amount

The amount of the OCT

Data Type

Number, min 0.01

Required

Yes

data.stan

What is this standing for

Data Type

String

Required

Yes

data.auth_code

What is this standing for

Data Type

String

Required

Yes

data.currency

The currency of the OCT

Data Type

ISO 4217 Currency code, Accepted currencies GBP, EUR, USD, BGN

Required

Conditional: required only if no card attribute provided

data.transaction

What is this standing for

Data Type

String

Required

Yes

data.card

The Paynetics internal token of the card to which the OCT is sent to. You can use this token instead of the card details (number, expiry month & year and cardholder names)

Data Type

UUID

Required

Yes