Push-to-card P2P A2A
Send funds from a customer's payment account to a Visa or Mastercard card. P2P transfers between two people; A2A between two of the same person's cards.
Push-to-card P2P enables approved partners to send funds from consumers' payment accounts to a Visa or Mastercard card. The primary difference between P2P and A2A is that P2P is used when a customer sends funds to another cardholder, whereas A2A is used when a customer sends funds to their own card.
These features require special approval by Paynetics and by both card schemes. When sending OCT, you will use a dedicated set of credentials provided by Paynetics for authenticating to the acquiring API.
To execute a push-to-card payment, you must use the POST /v1/oct endpoint of the Acquiring API.
Field descriptions
- balance — mandatory. The balance token of the account of the customer the money is sent from. Format: UUID.
- merchant — mandatory. Token of the merchant. Format: UUID.
- user — optional. Token of the individual user sending the OCT. Format: UUID.
- card details — card number (string, length 16), expiration month (string, "01" to "12"), expiration year (string, min current year). Conditionally mandatory if a saved card token is not provided.
- card — token of the saved recipient card. Conditionally mandatory if card details are not provided. Format: UUID.
- industry_specific_transaction — mandatory.
Pfor P2P andAfor A2A. - reference — mandatory. Reference field used for reconciliation. Format: string.
- amount — mandatory. OCT amount. Format: number, min 0.01.
- currency — mandatory. OCT currency. Format: ISO 4217. Accepted: GBP, EUR, USD, BGN.
- first_name — optional. The first name of the sender. Format: string.
- last_name — optional. The last name of the sender. Format: string.
- nationality — optional. Sender nationality. Format: ISO 3166 (alpha-2).
- birthday — optional. Sender birthday. Format: ISO 8601 date.
{
"balance": "8b1c1d20-1cf2-4ab7-92d3-3a3e7b6f12ab",
"merchant": "0a3b9b0a-93b3-4d51-8f23-e0e6e36a01ff",
"user": "f9a3a8c1-0b22-4dd1-bb4d-5a6f9d7c3022",
"card_number": "4444333322221111",
"card_expiration_month": "12",
"card_expiration_year": "2030",
"industry_specific_transaction": "P",
"cardholder_name": "John Doe",
"reference": "p2p-2026-05-03-abc",
"amount": 75.00,
"currency": "EUR",
"first_name": "Maria",
"last_name": "Ivanova",
"nationality": "BG",
"birthday": "1990-04-12"
}
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"
}
}