PayStar API Documentation
  1. Payment history v2
  • Merchant EN
    • Introduction
    • Glossary
    • Authorization key
    • Sandbox
    • Additional fields
    • Currencies
    • Bank names
    • Telecom operators
    • Callbacks
    • Error descriptions
    • Tech FAQ
    • Alerting
    • Payment history v2
      • Payment history - backward compatibility (legacy `X.Y.Z.W`)
    • Integratins
      • Stripe
      • Inwizo
      • 2Checkout
      • Adyen
      • AffiniPay
      • Alikassa
      • AlliancePay
      • Amazon Pay
      • AnyMoney
      • AstroPay
      • Aureavia
      • AurisMyChanger
      • Authorize.Net
      • Avatarix
    • Balance H2H
      GET
    • Deposit H2H - Card & P2P
      POST
    • Deposit H2H - Token
      POST
    • Deposit H2C - Card
      POST
    • Deposit status H2H - PayStar ID
      GET
    • Deposit status H2H - Merch ID
      GET
    • Payout H2H
      POST
    • Payout status H2H - PayStar ID
      GET
    • Payout status H2H - Merch ID
      GET
  1. Payment history v2

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.01.1.1.00PS | Create — SUCCESS | Payment:created
1.2.1.41.2.4.31PS | Pre‑check — FAILURE [BUSINESS.BALANCE] | Payment:failed
1.2.1.11.2.4.32PS | Pre‑check — FAILURE [BUSINESS.LIMIT] | Payment:failed
1.2.1.2, 1.2.1.31.2.4.34PS | 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.02.1.1.00GW | Create — SUCCESS | Payment:created
2.2.1.02.2.4.11GW | Create — FAILURE [TECH.TIMEOUT] | Payment:failed
2.2.1.12.2.4.12GW | Create — FAILURE [TECH.CONNECTION_FAIL] | Payment:failed
2.2.1.22.2.4.13GW | Create — FAILURE [TECH.SERVER_UNAVAILABLE] | Payment:failed
2.2.1.32.2.4.14GW | Create — FAILURE [TECH.INVALID_RESPONSE] | Payment:failed
2.2.1.42.2.4.15GW | Create — FAILURE [TECH.INVALID_REQUEST] | Payment:failed
2.2.2.12.2.4.21GW | Create — FAILURE [AUTHZ.401_UNAUTHORIZED] | Payment:failed
2.2.2.22.2.4.22GW | Create — FAILURE [AUTHZ.403_FORBIDDEN] | Payment:failed
2.2.3.12.2.4.31GW | Create — FAILURE [BUSINESS.BALANCE] | Payment:failed
2.2.3.22.2.4.32GW | Create — FAILURE [BUSINESS.LIMIT] | Payment:failed
2.2.3.32.2.4.33GW | Create — FAILURE [BUSINESS.CURRENCY] | Payment:failed

3) Payform / UI (A=3)#

Legacy ID(s)New Code (A.C.B.RR)Description
2.0.0.0†, 2.0.0.1, 2.0.1.03.1.1.00Payform | Create — SUCCESS | Payment:created (channel kept separately)
3.0.0.1, 3.0.1.13.0.1.00Payform | Present — INFO | Payment:created
3.0.1.23.0.1.51Payform | Present — INFO [USER.PAGE_VISIT] | Payment:created
3.0.1.33.0.1.52Payform | Present — INFO [USER.PAGE_LEAVE] | Payment:created
3.0.1.43.0.1.53Payform | Present — INFO [USER.ENTER_PERSONAL_DATA] | Payment:created
3.0.1.53.0.4.54Payform | Present — INFO [USER.CLICK_CANCEL] | Payment:failed
3.0.1.63.1.1.55Payform | Present — SUCCESS [USER.CLICK_SUBMIT] | Payment:created
3.0.2.13.2.4.56Confirm | Verify — FAILURE [USER.3DS_FAILED] | Payment:failed
3.0.2.23.2.4.57Confirm | Verify — FAILURE [USER.OTP_FAILED] | Payment:failed
3.0.2.3, 3.0.2.43.0.1.58Confirm | 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.14.2.2.13Check — FAILURE [TECH.SERVER_UNAVAILABLE] | Payment:processing
4.0.1.24.2.2.15Check — FAILURE [TECH.INVALID_REQUEST] | Payment:processing
4.0.2.14.2.2.21Check — FAILURE [AUTHZ.401_UNAUTHORIZED] | Payment:processing
4.0.2.24.2.2.22Check — FAILURE [AUTHZ.403_FORBIDDEN] | Payment:processing
4.1.0.04.1.3.00Check — SUCCESS | Payment:success
4.2.0.0, 4.2.1.14.1.4.00Check — SUCCESS | Payment:failed [UNSPECIFIED]
4.2.1.24.1.4.61Check — SUCCESS | Payment:failed [ISSUER.CARD_BLOCKED]
4.2.1.34.1.4.62Check — SUCCESS | Payment:failed [ISSUER.CARD_NOT_SUPPORTED]
4.2.1.44.1.4.63Check — SUCCESS | Payment:failed [ISSUER.INSUFFICIENT_FUNDS]
4.2.2.24.1.4.41Check — SUCCESS | Payment:failed [RISK.ANTIFRAUD_HARD]

5) Gateway Callback (A=5)#

Legacy ID(s)New Code (A.C.B.RR)Description
5.0.1.05.2.2.16GW Callback | Receive — FAILURE [TECH.INVALID_SIGNATURE] | Payment:processing
5.0.2.05.2.2.17GW Callback | Receive — FAILURE [TECH.INVALID_PAYLOAD] | Payment:processing
5.1.1.05.1.3.00GW Callback | Receive — SUCCESS | Payment:success
5.1.2.05.1.3.35GW 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.06.1.1.00Merchant 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
Previous
Payment history v2
Next
Integratins
Built with