Payment Link Webhooks
Every webhook event for Payment Link In and Payment Link Out — the full event list, payment statuses, payload fields, and example payloads.
BEEM sends a series of webhooks that keep you informed of every lifecycle event on a Payment Link you have created — inbound or outbound. Rather than polling for status, set up a webhook listener and react to events as they arrive.
This page covers every webhook event for the payment source. Channels have their own separate event set — see Channel Webhooks.
Webhook structure
Every webhook body has three sections — source, event, and data — plus an eventId and timestamp on each delivery:
{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"eventId": "01977e6e-56a5-7100-bf7c-547deeb17314",
"timestamp": "2025-06-17T15:07:29.829291749Z",
"data": {}
}| Field | Description |
|---|---|
source | The product source of the webhook. For Payment Links this is always payment. (Channel payments use channel.) |
event | The event type — what happened within that source. See the event table below. |
eventId | A unique identifier for this webhook delivery. Use it to de-duplicate if the same event is delivered twice. |
timestamp | When the event occurred, in ISO 8601 UTC. |
data | The full payment object at the time of the event — the same shape as the Create Payment response. |
Event types
Not every event applies to both directions. transaction-detected and transaction-confirmed are specific to confirming an inbound deposit on-chain — for an outbound payout, BEEM is the sender, so on-chain confirmation is rolled into the status-change → COMPLETE event.
| Event | IN | OUT | When it fires |
|---|---|---|---|
layer1:payment:checkout:status-change | ✓ | ✓ | The payment's status field has changed. Fires on each transition (for example PENDING → PROCESSING, PROCESSING → COMPLETE). |
layer1:payment:checkout:transaction-detected | ✓ | — | An inbound transaction has been seen on-chain but has not yet reached the required number of confirmations. |
layer1:payment:checkout:transaction-confirmed | ✓ | — | The inbound transaction has reached the required confirmations and funds have been credited. |
layer1:payment:checkout:transaction-held | ✓ | ✓ | The payment has been placed on hold for compliance screening. Fires for both KYT (Chainalysis) flags and Travel Rule RFIs — call GET /platform/v1/travel-rule-rfis to determine which. See Building a Travel Rule Integration. |
layer1:payment:checkout:transaction-late | ✓ | — | Funds were sent to a payment already in an EXPIRED, COMPLETE, or UNDERPAID state, or a further payment was made to an address that has already received one. |
layer1:payment:checkout:transaction-settled | ✓ | ✓ | The payment has been settled. Fires alongside the move to status-change → COMPLETE. |
Payment statuses
The status field inside data moves through these values. Terminal statuses cannot transition further.
| Status | IN | OUT | Terminal | Meaning |
|---|---|---|---|---|
PENDING | ✓ | ✓ | No | Created. For IN, no payment detected yet. For OUT, receiving details not yet provided. |
PROCESSING | ✓ | ✓ | No | For IN, a transaction has been detected on-chain. For OUT, the payout is being submitted. Also covers any approval wait and the held-for-screening period. |
COMPLETE | ✓ | ✓ | Yes | Funds credited (IN) or sent (OUT). |
UNDERPAID | ✓ | — | Yes | The customer sent less than the requested amount. Funds are still credited. |
EXPIRED | ✓ | ✓ | Yes | The end-user did not complete the journey within the expiry window. |
CANCELLED | ✓ | ✓ | Yes | For IN, the payment was cancelled before completion. For OUT, the payout was rejected during approval review. |
Key data fields
The data object is the full payment object. The fields you will reference most often:
| Field | Description |
|---|---|
uuid | The payment's unique identifier. Constant across every webhook for this payment — use it to correlate events. |
type | IN for a deposit, OUT for a payout. |
subType | merchantPayIn for a deposit, merchantPayOut for a payout. |
status | The current status (see the table above). |
reference | The reference you set when creating the payment. |
displayCurrency | The { currency, amount, actual } object in the Display Currency the end-user sees. |
paidCurrency | The { currency, amount, actual } object in the currency actually moved on-chain. |
walletCurrency | The { currency, amount, actual } object in the wallet's settlement currency. |
feeCurrency | BEEM's processing fee, as a { currency, amount, actual } object. |
amount (inside a currency object) | The amount requested when the payment was created. |
actual (inside a currency object) | The actual amount once the payment is confirmed on-chain. Compare actual against amount to detect over- and underpayments. |
displayRate / exchangeRate | The conversion rates applied — each a { base, counter, rate } object. |
address | The deposit (IN) or destination (OUT) address — { address, tag, protocol, uri, alternatives }. |
transactions | The array of on-chain transactions linked to the payment. Each carries its own hash, amount, risk, networkFeeAmount, sources, and isOnHold flag. Multiple transactions to the same address all appear here. |
Webhook sequences
Payment In
| Scenario | Event sequence |
|---|---|
| Completed | transaction-detected → status-change (PROCESSING) → transaction-confirmed → status-change (COMPLETE) → transaction-settled |
| Underpaid | transaction-detected → status-change (PROCESSING) → transaction-confirmed → status-change (UNDERPAID) |
| Expired | status-change (EXPIRED). If funds arrive afterwards: transaction-late. |
| Held | transaction-held fires at the point of screening; the payment stays PROCESSING until the hold clears, then resumes its normal sequence. The hold may be driven by KYT (Chainalysis) or a Travel Rule RFI — call GET /platform/v1/travel-rule-rfis to determine which. See Building a Travel Rule Integration. |
Payment Out
| Scenario | Event sequence |
|---|---|
| Completed | status-change (PROCESSING) → status-change (COMPLETE) → transaction-settled |
| Held | transaction-held fires at the point of screening; the payout stays PROCESSING until the hold clears. The hold may be driven by KYT (Chainalysis) or a Travel Rule RFI — call GET /platform/v1/travel-rule-rfis to determine which. See Building a Travel Rule Integration. |
| Rejected | status-change (CANCELLED) — an approver rejected the payout. |
| Expired | status-change (EXPIRED) — the recipient never completed the Hosted Payments Page. |
Example payloads — Payment In
{
"source": "payment",
"event": "layer1:payment:checkout:transaction-detected",
"data": {
"uuid": "d993b0bc-dace-4742-81d8-6ae629dab063",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709895600000,
"expiryDate": 1709982000000,
"quoteExpiryDate": 1709982000000,
"acceptanceExpiryDate": 1709895667000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_0plkzH",
"type": "IN",
"subType": "merchantPayIn",
"status": "PENDING",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002764,
"actual": 0
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0?value=2.76415E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709895679212,
"dateConfirmed": null,
"hash": "0x3d8ff17b4a2be304eff0ece0373f538f5e1a19e637652466c9ab15c599b6d91b",
"amount": 0,
"risk": null,
"networkFeeCurrency": "ETH",
"networkFeeAmount": null,
"sources": null,
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "d993b0bc-dace-4742-81d8-6ae629dab063",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709895600000,
"expiryDate": 1709982000000,
"quoteExpiryDate": 1709982000000,
"acceptanceExpiryDate": 1709895667000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_0plkzH",
"type": "IN",
"subType": "merchantPayIn",
"status": "PROCESSING",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002764,
"actual": 0
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0?value=2.76415E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709895679212,
"dateConfirmed": null,
"hash": "0x3d8ff17b4a2be304eff0ece0373f538f5e1a19e637652466c9ab15c599b6d91b",
"amount": 0,
"risk": null,
"networkFeeCurrency": "ETH",
"networkFeeAmount": null,
"sources": null,
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:transaction-confirmed",
"data": {
"uuid": "d993b0bc-dace-4742-81d8-6ae629dab063",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709895600000,
"expiryDate": 1709982000000,
"quoteExpiryDate": 1709982000000,
"acceptanceExpiryDate": 1709895667000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_0plkzH",
"type": "IN",
"subType": "merchantPayIn",
"status": "PROCESSING",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0.00276415
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002764,
"actual": 0
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0?value=2.76415E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709895679000,
"dateConfirmed": 1709895776194,
"hash": "0x3d8ff17b4a2be304eff0ece0373f538f5e1a19e637652466c9ab15c599b6d91b",
"amount": 0.00276415,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0.000033940950855,
"sources": [
"0x84a4a239805d06c685219801b82bea7c76702214"
],
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "d993b0bc-dace-4742-81d8-6ae629dab063",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709895600000,
"expiryDate": 1709982000000,
"quoteExpiryDate": 1709982000000,
"acceptanceExpiryDate": 1709895667000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_0plkzH",
"type": "IN",
"subType": "merchantPayIn",
"status": "COMPLETE",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 10
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0.00276415
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0.00276415
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002764,
"actual": 0.00002764
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0?value=2.76415E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709895679000,
"dateConfirmed": 1709895776000,
"hash": "0x3d8ff17b4a2be304eff0ece0373f538f5e1a19e637652466c9ab15c599b6d91b",
"amount": 0.00276415,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0.00003394,
"sources": [
"0x84a4a239805d06c685219801b82bea7c76702214"
],
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "c11b0f66-2e7f-4ff0-9963-e485511ae49f",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709896743000,
"expiryDate": 1709896862203,
"quoteExpiryDate": null,
"acceptanceExpiryDate": null,
"quoteStatus": "TEMPLATE",
"reference": "test_reference_in_ewmnnj",
"type": "IN",
"subType": "merchantPayIn",
"status": "EXPIRED",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0
},
"paidCurrency": {
"currency": null,
"amount": 0,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0,
"actual": 0
},
"displayRate": null,
"exchangeRate": null,
"address": null,
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "83e3287c-540e-4f43-8953-e5b2db646ca5",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709895979000,
"expiryDate": 1709982379000,
"quoteExpiryDate": 1709982379000,
"acceptanceExpiryDate": 1709896020000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_LGkyRO",
"type": "IN",
"subType": "merchantPayIn",
"status": "UNDERPAID",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 3.62
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276601,
"actual": 0.001
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276601,
"actual": 0.001
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002766,
"actual": 0.00001
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3615.315924382052
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xe4828053f59d310ee50984d0cd84b622cc03b19f",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xe4828053f59d310ee50984d0cd84b622cc03b19f?value=2.76601E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709896040000,
"dateConfirmed": 1709896133000,
"hash": "0xb8a33c20e4e0c6f747e87e1e632e9cdf22e62f0a99a18faefc7e327b85f8537d",
"amount": 0.001,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0.0000355,
"sources": [
"0x84a4a239805d06c685219801b82bea7c76702214"
],
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3615.315924382052
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:transaction-late",
"data": {
"uuid": "1401c32a-f8c1-49d9-a24c-5ae81b0ea2b3",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709897205000,
"expiryDate": 1709897284000,
"quoteExpiryDate": 1709897265000,
"acceptanceExpiryDate": 1709897245000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_d1plQ7",
"type": "IN",
"subType": "merchantPayIn",
"status": "EXPIRED",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 10
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.0027682,
"actual": 0.0027682
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.0027682,
"actual": 0.0027682
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002768,
"actual": 0.00002768
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3612.455747417094
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0x8c12686c4277ae7b48a2cf19256cc29ba2184bf5",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0x8c12686c4277ae7b48a2cf19256cc29ba2184bf5?value=2.7682E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709897305000,
"dateConfirmed": 1709897394000,
"hash": "0x8aa160b0b175624b5381f100d9b9ffbff199e65c6e53335b596aee926d831b42",
"amount": 0.0027682,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0.00005765,
"sources": [
"0x84a4a239805d06c685219801b82bea7c76702214"
],
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3612.455747417094
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:transaction-held",
"data": {
"uuid": "b078499c-0c6c-4e3f-8a32-66dca1d2676b",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709543074000,
"expiryDate": 1709715874000,
"quoteExpiryDate": 1709715874000,
"acceptanceExpiryDate": 1709543139000,
"quoteStatus": "ACCEPTED",
"reference": "REF958403",
"type": "IN",
"subType": "merchantPayIn",
"status": "PROCESSING",
"displayCurrency": {
"currency": "ETH",
"amount": 0.01,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.01,
"actual": 0
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.01,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.0001,
"actual": 0
},
"displayRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xc643e89d9499d1e888c0be5c89b0d49973115d8a",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xc643e89d9499d1e888c0be5c89b0d49973115d8a?value=1E+16",
"alternatives": []
},
"returnUrl": "",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709543141000,
"dateConfirmed": null,
"hash": "0xfc403fb78ce3d05205c90ae91ddaf5f9760fd00ca15714b01951415ff3dbd172",
"amount": 0.01,
"risk": null,
"networkFeeCurrency": "ETH",
"networkFeeAmount": null,
"sources": null,
"displayRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": true
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "d993b0bc-dace-4742-81d8-6ae629dab063",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709895600000,
"expiryDate": 1709982000000,
"quoteExpiryDate": 1709982000000,
"acceptanceExpiryDate": 1709895667000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_in_0plkzH",
"type": "IN",
"subType": "merchantPayIn",
"status": "CANCELLED",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 10
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0.00276415
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276415,
"actual": 0.00276415
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002764,
"actual": 0.00002764
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0",
"tag": null,
"protocol": "ETH",
"uri": "ethereum:0xc4d8b4b0e0601f49c88f41c4a9490f0d7f4ceed0?value=2.76415E+15",
"alternatives": []
},
"returnUrl": "https://www.your-url-here.com",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709895679000,
"dateConfirmed": 1709895776000,
"hash": "0x3d8ff17b4a2be304eff0ece0373f538f5e1a19e637652466c9ab15c599b6d91b",
"amount": 0.00276415,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0.00003394,
"sources": [
"0x84a4a239805d06c685219801b82bea7c76702214"
],
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.748674999548
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": "ETH",
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}Example payloads — Payment Out
{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "07905528-d72e-40dd-a1b4-fb8ec2f748c8",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709896869000,
"expiryDate": 1709900469000,
"quoteExpiryDate": 1709900469000,
"acceptanceExpiryDate": 1709896938000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_out_mH9LBR1",
"type": "OUT",
"subType": "merchantPayOut",
"status": "PROCESSING",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0.00276456
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002765,
"actual": 0
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.212142257719
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0x84A4a239805d06c685219801B82BEA7c76702214",
"tag": null,
"protocol": null,
"uri": "ethereum:0x84A4a239805d06c685219801B82BEA7c76702214?value=2.76456E+15",
"alternatives": []
},
"returnUrl": "[www.your-url-here.com](https://www.your-url-here.com)",
"redirectUrl": "",
"transactions": [],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "07905528-d72e-40dd-a1b4-fb8ec2f748c8",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709896869000,
"expiryDate": 1709900469000,
"quoteExpiryDate": 1709900469000,
"acceptanceExpiryDate": 1709896938000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_out_mH9LBR1",
"type": "OUT",
"subType": "merchantPayOut",
"status": "COMPLETE",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 10
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0.00276456
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0.00276456
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002765,
"actual": 0.00002765
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.212142257719
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0x84A4a239805d06c685219801B82BEA7c76702214",
"tag": null,
"protocol": null,
"uri": "ethereum:0x84A4a239805d06c685219801B82BEA7c76702214?value=2.76456E+15",
"alternatives": []
},
"returnUrl": "[www.your-url-here.com](https://www.your-url-here.com)",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709897097718,
"dateConfirmed": 1709897097718,
"hash": "0x30c18d5eed6c02418506d69d87c59ee52c2e10753bbccea035346b81c1e1a7e0",
"amount": 0.00276456,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0,
"sources": [],
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.212142257719
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": null,
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:transaction-held",
"data": {
"uuid": "da19a0a7-73de-4033-b042-e3545682c06d",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709548454000,
"expiryDate": 1709721254000,
"quoteExpiryDate": 1709721254000,
"acceptanceExpiryDate": 1709548500000,
"quoteStatus": "ACCEPTED",
"reference": "REF286000",
"type": "OUT",
"subType": "merchantPayOut",
"status": "PROCESSING",
"displayCurrency": {
"currency": "ETH",
"amount": 0.011,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.011,
"actual": 0.011
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.011,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00011,
"actual": 0
},
"displayRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0x84A4a239805d06c685219801B82BEA7c76702214",
"tag": null,
"protocol": null,
"uri": "ethereum:0x84A4a239805d06c685219801B82BEA7c76702214?value=1.1E+16",
"alternatives": []
},
"returnUrl": "",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709548507628,
"dateConfirmed": null,
"hash": null,
"amount": 0.011,
"risk": null,
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0,
"sources": [],
"displayRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": null,
"isOnHold": true
}
],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "b627afcb-664a-4755-94c2-babc9593db30",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709896504000,
"expiryDate": 1709896683371,
"quoteExpiryDate": null,
"acceptanceExpiryDate": null,
"quoteStatus": "TEMPLATE",
"reference": "test_reference_out_bf1r6O1",
"type": "OUT",
"subType": "merchantPayOut",
"status": "EXPIRED",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 0
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276243,
"actual": 0
},
"paidCurrency": {
"currency": null,
"amount": 0,
"actual": 0
},
"feeCurrency": {
"currency": "ETH",
"amount": 0,
"actual": 0
},
"displayRate": null,
"exchangeRate": null,
"address": null,
"returnUrl": "[www.your-url-here.com](https://www.your-url-here.com)",
"redirectUrl": "",
"transactions": [],
"refund": null,
"refunds": []
}
}{
"source": "payment",
"event": "layer1:payment:checkout:status-change",
"data": {
"uuid": "07905528-d72e-40dd-a1b4-fb8ec2f748c8",
"merchantDisplayName": "ETH Merchant ",
"merchantId": "a7eddadd-fd9b-45fb-82a1-dc12eaa14cba",
"dateCreated": 1709896869000,
"expiryDate": 1709900469000,
"quoteExpiryDate": 1709900469000,
"acceptanceExpiryDate": 1709896938000,
"quoteStatus": "ACCEPTED",
"reference": "test_reference_out_mH9LBR1",
"type": "OUT",
"subType": "merchantPayOut",
"status": "CANCELLED",
"displayCurrency": {
"currency": "EUR",
"amount": 10,
"actual": 10
},
"walletCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0.00276456
},
"paidCurrency": {
"currency": "ETH",
"amount": 0.00276456,
"actual": 0.00276456
},
"feeCurrency": {
"currency": "ETH",
"amount": 0.00002765,
"actual": 0.00002765
},
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.212142257719
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"address": {
"address": "0x84A4a239805d06c685219801B82BEA7c76702214",
"tag": null,
"protocol": null,
"uri": "ethereum:0x84A4a239805d06c685219801B82BEA7c76702214?value=2.76456E+15",
"alternatives": []
},
"returnUrl": "[www.your-url-here.com](https://www.your-url-here.com)",
"redirectUrl": "",
"transactions": [
{
"dateCreated": 1709897098000,
"dateConfirmed": 1709897098000,
"hash": "0x30c18d5eed6c02418506d69d87c59ee52c2e10753bbccea035346b81c1e1a7e0",
"amount": 0.00276456,
"risk": {
"level": "LOW",
"resourceName": null,
"resourceCategory": null,
"alerts": []
},
"networkFeeCurrency": "ETH",
"networkFeeAmount": 0,
"sources": null,
"displayRate": {
"base": "ETH",
"counter": "EUR",
"rate": 3617.212142257719
},
"exchangeRate": {
"base": "ETH",
"counter": "ETH",
"rate": 1
},
"protocol": null,
"isOnHold": false
}
],
"refund": null,
"refunds": []
}
}
