Migrating from v1
Beta, in development. The v2 endpoints are not callable yet. This page is for planning.
What changes
| v1 | v2 | |
|---|---|---|
| Contracts | Four: BLIK, Apple Pay and Google Pay, card payments, payouts | One |
| Method | pay_system field (Apple Pay, Google Pay); a separate contract (card) |
The create endpoint |
| Auth | A different scheme per contract | Authorization: Bearer <shop_key>, no request signature |
| Response | JSON; XML for payouts | JSON |
| Errors | Different per contract; payouts return HTTP 200 on a validation failure | HTTP error status, error.code |
| Repeating a request | A repeated reference returns the earlier transaction, even with a changed body | The same merchant_reference and body return the earlier transaction; a changed body returns 409 merchant_reference_conflict |
| Statuses | A set per contract: strings, integers, XML codes | One set per object: payin, refund, payout |
| Webhooks | Different format and signature per contract | One JSON format; one header Webhook-Signature over the time of delivery and the body |
Identifiers
| v1 | v2 |
|---|---|
internal_transaction_id (BLIK), id (Apple Pay, Google Pay), external_reference (card) |
id — the same UUID |
merchant_transaction_id, reference, id of the payout request |
merchant_reference |
Endpoints
| v1 | v2 |
|---|---|
BLIK · POST /sdk-partner/quick-payin/blik |
POST /v2/payins/blik |
BLIK · GET /sdk-partner/quick-payin/transactions/{id}/status |
GET /v2/transactions/{transaction_id} |
BLIK · GET /sdk-partner/quick-payin/transactions |
GET /v2/transactions |
Apple Pay, Google Pay · POST /sdk-partner/alternative-mobile-pay/validate-merchant |
POST /v2/payins/apple-pay/sessions |
Apple Pay, Google Pay · POST /sdk-partner/alternative-mobile-pay/mobile-pay |
POST /v2/payins/apple-pay or POST /v2/payins/google-pay |
Apple Pay, Google Pay · GET /sdk-partner/alternative-mobile-pay/mobile-pay/{id}/status |
GET /v2/transactions/{transaction_id} |
Apple Pay, Google Pay · POST /sdk-partner/alternative-mobile-pay/refund |
POST /v2/payins/{payin_id}/refunds |
Card payments · POST /pay/direct |
POST /v2/payins/card |
Card payments · POST /pay |
POST /v2/pay-sessions |
Card payments · POST /pay/complete |
POST /v2/payins/{payin_id}/capture |
Card payments · POST /pay/void |
POST /v2/payins/{payin_id}/void |
Card payments · POST /pay/refund |
POST /v2/payins/{payin_id}/refunds |
Card payments · POST /pay/order_status |
GET /v2/transactions/{transaction_id} |
Card payments · POST /pay/get_orders_data |
GET /v2/transactions |
Card payments · POST /pay/get_report |
No equivalent |
Payouts · POST /partner/{service_id}/payout |
POST /v2/payouts/card |
Payouts · POST /partner/{service_id}/check |
GET /v2/transactions/{transaction_id} |
Payouts · POST /partner/{service_id}/notify |
No equivalent |
Payouts · POST /partner/{service_id}/balance |
GET /v2/balances |
Payouts · GET /payout_reestr/{content_type} |
GET /v2/transactions |
Statuses
| v2 | v1 BLIK | v1 Apple Pay, Google Pay | v1 card payments | v1 payouts |
|---|---|---|---|---|
created |
new |
pending |
0 |
OK |
processing |
new |
pending, order_scheduled |
0 |
PROCESSING |
requires_action |
new with redirect |
redirect_pending (Google Pay) |
0 with a payment page URL, 8 |
— |
authorized |
— | — | 1 |
— |
completed |
completed |
paid |
3 |
PAID |
failed |
failed |
order_failed |
99 |
ERROR, NOT_PAID |
failed with canceled_by_merchant or canceled_by_payer |
failed (payer canceled) |
— | 2 |
— |
refunded |
— | refunded |
4 |
— |
Refunds, v1 Apple Pay and Google Pay → v2: pending → created or processing,
succeeded → completed, failed → failed.
The work on your side
- Replace the v1 signatures with the bearer key. Payin and payout are two shops, two keys; sandbox keys for the sandbox, production keys for production.
- Call one create endpoint per method.
- Save
merchant_referencebefore every create and resend the same body on a retry. - Parse JSON everywhere, including payouts.
- Rewrite status handling against the v2 sets — see Statuses.
- Branch on
error.code— see Errors. - Verify webhook
Webhook-Signature— see Webhooks. - Run the integration checklist in the sandbox.
Next: API Reference