Transaction Statuses
A native Apple Pay purchase consists of two linked transactions:
- Mobile payment (
buy) — the user pays with Apple Pay and the funds are exchanged for crypto. - Withdraw (
withdraw) — created automatically after a successful payment to send the purchased crypto to the user's wallet.
Both transactions send callbacks when their status changes. You can also view transactions manually in the Mercuryo Dashboard.
How Transactions Are Identified
| Transaction | type |
payment_method |
method_code |
|---|---|---|---|
| Mobile payment | buy |
mobile_pay |
apple |
| Withdraw | withdraw |
— | — |
Mobile Payment
The payment request POST /sdk-partner/native-mobile-pay/mobile-pay returns the initial status; further changes come in callbacks.
| Status | Type | Description |
|---|---|---|
new |
Intermediate | Payment data received, awaiting processing |
pending |
Intermediate | Payment is being processed |
order_scheduled |
Intermediate | Payment authorized, awaiting KYC — see KYC |
failed_exchange |
Intermediate | Exchange request failed |
paid |
Final | Payment completed; the crypto is sent in a withdraw transaction |
order_failed |
Final | Declined by the card issuer or the payment provider, or, for US users, KYC is required (the user is handed over to the widget — see KYC During Payment) |
cancelled |
Final | Cancelled; held funds are released |
State transitions:
| From | To | Trigger |
|---|---|---|
new |
pending |
Payment processing started |
new |
order_failed |
Bank system error, or KYC required (US users) |
pending |
order_scheduled |
Payment authorized and queued |
pending |
failed_exchange |
Exchange error |
pending |
order_failed |
Payment declined |
pending |
cancelled |
Cancelled by the system |
order_scheduled |
paid |
KYC passed or not required |
order_scheduled |
failed_exchange |
Exchange error |
order_scheduled |
cancelled |
KYC not passed in time, or cancelled by the system |
failed_exchange |
cancelled |
Cancelled by the system |
Withdraw
Created automatically after the mobile payment reaches paid.
| Status | Type | Description |
|---|---|---|
new |
Intermediate | Withdrawal created, awaiting processing |
pending |
Intermediate | Withdrawal is being processed |
completed |
Final | Crypto sent to the user's wallet |
failed |
Final | Withdrawal failed |
cancelled |
Final | Cancelled by the system |
State transitions:
| From | To | Trigger |
|---|---|---|
new |
pending |
Processing started |
pending |
completed |
Successfully processed |
pending |
failed |
Processing error |
pending |
cancelled |
Cancelled by the system |