Appearance
C2C Transfer Payments
Use this page to create payments via C2C (Card-to-Card) Transfer using the common Payment API endpoint. C2C Transfer allows customers to manually transfer funds from their card to a recipient card provided by Paylander.
- Base URL:
https://api.paylander.com/api/v1/payment/ - Endpoint:
POST /v1/payment/
Supported Currencies
- KZT
Integration Models
C2C Transfer payments support two integration models:
Redirect Flow
The customer is redirected to the Paylander hosted payment page using redirect_url.
Paylander displays recipient card details and instructions to the customer.
Server-to-Server (S2S)
The merchant integrates fully server-side:
- customer metadata is sent via API,
- recipient card details are returned in the response,
- the merchant displays instructions to the customer.
Redirect Flow
Common Fields
type→"c2c"
Example Request (Redirect Flow)
json
{
"channel": "550e8400-e29b-41d4-a716-446655440000",
"amount": {
"currency": "KZT",
"value": "5000.00"
},
"external_id": "ORDER-0001",
"payment_method": {
"type": "c2c"
},
"return_url": "https://your-company.com/return",
"callback_url": "https://your-company.com/callback"
}Example Response (Redirect Flow)
json
{
"status": "processing",
"transaction_id": "269db9fa-440e-49a5-ab67-d30ecb75149e",
"amount": {
"currency": "KZT",
"value": "5000.00"
},
"redirect_url": "https://pay.paylander.com/269db9fa-440e-49a5-ab67-d30ecb75149e/",
"channel": "550e8400-e29b-41d4-a716-446655440000",
"payment_method": {
"type": "c2c"
},
"create_date": "2025-10-15T23:54:13.008007+00:00"
}Server-to-Server Flow
Common Fields
type→"c2c"
Additional Fields (Server-to-Server only)
first_name→ string, Customer first namesurname→ string, Customer last nameemail→ string, Customer emailcard_mask→ string, Masked sender card PAN (e.g.4000****0002)
⚠️ Full card numbers must never be sent.
Only masked PAN values are allowed.
Example Request (Server-to-Server)
json
{
"channel": "550e8400-e29b-41d4-a716-446655440000",
"amount": {
"currency": "KZT",
"value": "5000.00"
},
"description": "Test deposit",
"payment_method": {
"type": "c2c",
"first_name": "Ivan",
"surname": "Ivanov",
"email": "ivan.ivanov@example.com",
"card_mask": "4000****0002"
},
"callback_url": "https://your-company.com/callback"
}Example Response (Server-to-Server)
json
{
"status": "processing",
"transaction_id": "e9425d91-0484-48fa-a759-60b6e85f6d2f",
"amount": {
"currency": "KZT",
"value": "5000.0"
},
"redirect_url": "https://pay.paylander.com/e9425d91-0484-48fa-a759-60b6e85f6d2f/",
"channel": "8d3edef5-fccb-4e82-a129-f14b5b7e6ec6",
"payment_method": {
"type": "c2c",
"card_number": "4400430309736822",
"recipient": "TASHTANBEK MAMATBEKOV",
"state": "waiting_for_confirm"
},
"create_date": "2026-02-02T07:08:51.181702+00:00"
}Confirm (Server-to-Server)
The Confirm is used only for Server-to-Server integrations when a C2C payment enters the waiting_for_confirm state.
In this case, the merchant must explicitly confirm the payment by calling the confirm endpoint.
When Confirmation Is Required
Confirmation is required when:
payment_method.state=waiting_for_confirm
This typically means that:
recipient card details were provided,
the customer has completed (or is expected to complete) the transfer,
and the merchant confirms that the transfer was initiated.
Confirm Endpoint:
POST /v1/payment/confirm/
Confirm Request
json
{
"id": "e5c2d763-8bc8-4e20-9e80-2b12199f4dc1"
}Example Response (waiting_for_provider)
json
{
"status": "processing",
"transaction_id": "e5c2d763-8bc8-4e20-9e80-2b12199f4dc1",
"payment_method": {
"type": "c2c",
"state": "waiting_for_provider"
}
}Notes
stateappears only in Server to Server integrations.waiting_for_confirm→ the merchant must call the confirm endpoint.waiting_for_provider→ payment is being processed by the provider.