OCT (Original Credit Transaction)¶
Introduction¶
An Original Credit Transaction (OCT) is a payment transaction type that allows merchants to send funds directly to a cardholder's card account. Unlike standard purchase or authorization transactions that pull funds from a card, an OCT pushes funds to the card. Common use cases include payouts, disbursements, refunds to a different card, and marketplace seller payments.
Integration Type Limitation
OCT transactions are only supported via the Direct API integration. Hosted Payment Page (HPP) and Embedded Fields (EF) integration types are not supported for OCT transactions.
Key Characteristics¶
- Push Payment
- OCT sends funds to a cardholder's card, rather than collecting funds from it.
-
This is an initial transaction type — it does not require a parent transaction.
-
Simplified Payment Data
- Only the
encrypted_card_numberis required in the payment method data. CVV, expiration month, and expiration year are not required. - Card data must still be encrypted using the merchant's public key.
-
Encryption example is available under encryption-example
-
No 3D Secure Authentication
- OCT transactions do not require 3D Secure authentication. Authentication is handled implicitly by the gateway.
-
As a result,
browser_infois not required in the request. -
Terminal ID Specification
- It is essential to specify the
terminal_idduring the transaction setup. This unique identifier represents the point of sale or the terminal that is processing the transaction. - The terminal must be configured to support OCT transactions.
Request Requirements¶
| Field | Required | Notes |
|---|---|---|
terminal_id |
Yes | Must support OCT |
reference |
Yes | Unique transaction reference (max 40 chars) |
description |
Yes | Transaction description |
currency |
Yes | ISO 4217 currency code |
amount |
Yes | Amount in minor units (e.g., cents) |
transaction_type |
Yes | Must be OCT |
payment_method.type |
Yes | Must be card |
payment_method.data.encrypted_card_number |
Yes | Encrypted using merchant public key |
customer |
Yes | Customer details |
customer_ip |
No | Customer IP address |
metadata |
No | Optional key-value pairs |
Processing Flow¶
sequenceDiagram
participant Merchant
participant Gateway
participant PSP
Merchant->>Gateway: POST /api/transactions/authorize<br/>(transaction_type: OCT)
Gateway->>Gateway: Decrypt & validate card number
Gateway->>Gateway: Extract BIN, determine card brand
Gateway->>Gateway: Route to payment provider
Gateway->>PSP: Process OCT
PSP-->>Gateway: Processing result
Gateway-->>Merchant: Transaction response
Important Notes¶
- The transaction is processed as an initial transaction — no parent transaction reference is needed.
- Supported payment method type is card only.
- Hosted Payment Page (HPP) and Embedded Fields (EF) integration types are not supported for OCT transactions. OCT must be processed via the API integration only.