Payment history - backward compatibility (legacy `X.Y.Z.W`)
1) PS — internal logic (A=1)#
Legacy ID(s) | New Code (A.C.B.RR) | Description |
---|
1.0.0.0 | 1.1.1.00 | PS | Create — SUCCESS | Payment:created |
1.2.1.4 | 1.2.4.31 | PS | Pre‑check — FAILURE [BUSINESS.BALANCE] | Payment:failed |
1.2.1.1 | 1.2.4.32 | PS | Pre‑check — FAILURE [BUSINESS.LIMIT] | Payment:failed |
1.2.1.2, 1.2.1.3 | 1.2.4.34 | PS | Pre‑check — FAILURE [BUSINESS.ROUTING_BLOCKED] | Payment:failed |
2) Gateway / Create (A=2)#
Legacy ID(s) | New Code (A.C.B.RR) | Description |
---|
2.0.0.0 | 2.1.1.00 | GW | Create — SUCCESS | Payment:created |
2.2.1.0 | 2.2.4.11 | GW | Create — FAILURE [TECH.TIMEOUT] | Payment:failed |
2.2.1.1 | 2.2.4.12 | GW | Create — FAILURE [TECH.CONNECTION_FAIL] | Payment:failed |
2.2.1.2 | 2.2.4.13 | GW | Create — FAILURE [TECH.SERVER_UNAVAILABLE] | Payment:failed |
2.2.1.3 | 2.2.4.14 | GW | Create — FAILURE [TECH.INVALID_RESPONSE] | Payment:failed |
2.2.1.4 | 2.2.4.15 | GW | Create — FAILURE [TECH.INVALID_REQUEST] | Payment:failed |
2.2.2.1 | 2.2.4.21 | GW | Create — FAILURE [AUTHZ.401_UNAUTHORIZED] | Payment:failed |
2.2.2.2 | 2.2.4.22 | GW | Create — FAILURE [AUTHZ.403_FORBIDDEN] | Payment:failed |
2.2.3.1 | 2.2.4.31 | GW | Create — FAILURE [BUSINESS.BALANCE] | Payment:failed |
2.2.3.2 | 2.2.4.32 | GW | Create — FAILURE [BUSINESS.LIMIT] | Payment:failed |
2.2.3.3 | 2.2.4.33 | GW | Create — FAILURE [BUSINESS.CURRENCY] | Payment:failed |
Legacy ID(s) | New Code (A.C.B.RR) | Description |
---|
2.0.0.0†, 2.0.0.1, 2.0.1.0 | 3.1.1.00 | Payform | Create — SUCCESS | Payment:created (channel kept separately) |
3.0.0.1, 3.0.1.1 | 3.0.1.00 | Payform | Present — INFO | Payment:created |
3.0.1.2 | 3.0.1.51 | Payform | Present — INFO [USER.PAGE_VISIT] | Payment:created |
3.0.1.3 | 3.0.1.52 | Payform | Present — INFO [USER.PAGE_LEAVE] | Payment:created |
3.0.1.4 | 3.0.1.53 | Payform | Present — INFO [USER.ENTER_PERSONAL_DATA] | Payment:created |
3.0.1.5 | 3.0.4.54 | Payform | Present — INFO [USER.CLICK_CANCEL] | Payment:failed |
3.0.1.6 | 3.1.1.55 | Payform | Present — SUCCESS [USER.CLICK_SUBMIT] | Payment:created |
3.0.2.1 | 3.2.4.56 | Confirm | Verify — FAILURE [USER.3DS_FAILED] | Payment:failed |
3.0.2.2 | 3.2.4.57 | Confirm | Verify — FAILURE [USER.OTP_FAILED] | Payment:failed |
3.0.2.3, 3.0.2.4 | 3.0.1.58 | Confirm | Verify — INFO [USER.LEAVE_ON_CONFIRM] | Payment:created |
† Legacy code 2.0.0.0 was used for both “Payform created (internal)” and “GW success creation”. In v2 we separate these actors: Payform → 3.1.1.00, GW → 2.1.1.00. Use the legacy actor label in your logs to disambiguate during migration.
4) Check — polling the gateway (A=4)#
Legacy ID(s) | New Code (A.C.B.RR) | Description |
---|
4.0.1.1 | 4.2.2.13 | Check — FAILURE [TECH.SERVER_UNAVAILABLE] | Payment:processing |
4.0.1.2 | 4.2.2.15 | Check — FAILURE [TECH.INVALID_REQUEST] | Payment:processing |
4.0.2.1 | 4.2.2.21 | Check — FAILURE [AUTHZ.401_UNAUTHORIZED] | Payment:processing |
4.0.2.2 | 4.2.2.22 | Check — FAILURE [AUTHZ.403_FORBIDDEN] | Payment:processing |
4.1.0.0 | 4.1.3.00 | Check — SUCCESS | Payment:success |
4.2.0.0, 4.2.1.1 | 4.1.4.00 | Check — SUCCESS | Payment:failed [UNSPECIFIED] |
4.2.1.2 | 4.1.4.61 | Check — SUCCESS | Payment:failed [ISSUER.CARD_BLOCKED] |
4.2.1.3 | 4.1.4.62 | Check — SUCCESS | Payment:failed [ISSUER.CARD_NOT_SUPPORTED] |
4.2.1.4 | 4.1.4.63 | Check — SUCCESS | Payment:failed [ISSUER.INSUFFICIENT_FUNDS] |
4.2.2.2 | 4.1.4.41 | Check — SUCCESS | Payment:failed [RISK.ANTIFRAUD_HARD] |
5) Gateway Callback (A=5)#
Legacy ID(s) | New Code (A.C.B.RR) | Description |
---|
5.0.1.0 | 5.2.2.16 | GW Callback | Receive — FAILURE [TECH.INVALID_SIGNATURE] | Payment:processing |
5.0.2.0 | 5.2.2.17 | GW Callback | Receive — FAILURE [TECH.INVALID_PAYLOAD] | Payment:processing |
5.1.1.0 | 5.1.3.00 | GW Callback | Receive — SUCCESS | Payment:success |
5.1.2.0 | 5.1.3.35 | GW Callback | Receive — SUCCESS [BUSINESS.AMOUNT_UPDATED] | Payment:success |
6) Merchant Callback (A=6)#
Legacy ID(s) | New Code (A.C.B.RR) | Description |
---|
6.0.0.0 | 6.1.1.00 | Merchant Callback | Confirm — SUCCESS | Payment:created |
Notes for editors#
The Legacy ID(s) column contains the old X.Y.Z.W codes collected from the previous page and partner usage.
Where a legacy code was reused for different actors (e.g., 2.0.0.0), we mark it and explain how to disambiguate (by the legacy actor string in logs).
Where multiple legacy lines existed for the same meaning (e.g., routing duplicates), they all map to a single new code.
If helpful, I can also generate a CSV/JSON mapping file (legacy_id
, new_code
, stage
, description
, notes
) so the team can import it into admin/reporting or run automated migrations.Modified at 2025-09-02 15:50:04