Receiving payments
Overview
The Strike API lets you receive payments in both cash or bitcoin via the Bitcoin and Lightning Networks. Whether you’re selling goods, offering services or accepting donations, you can integrate the Strike API to receive payments directly into your Strike account. For more information, contact support@strike.me.
How receiving a payment works
Receiving a payment via the Strike API begins by creating either an “invoice” or a “receive request”. An invoice lets you receive a payment with a specified amount, which is ideal for most e-commerce transactions since over/underpayments are impossible. A receive request, on the other hand, lets you set the payment amount as an optional parameter, which is best suited for accepting donations or for other payer-defined transactions.
Here’s a breakdown of the two ways to receive a payment:
Type | Invoice | Receive request |
---|---|---|
Supported rails | Bolt11 Lightning invoice | On-chain or Bolt11 Lightning invoice |
Payment amount | Required | Optional |
Settlement currency | Bitcoin or USD* | Bitcoin or USD* |
Currency conversion | Guaranteed rate for 30 seconds | Market rate at time of payment |
Under/overpayments | Impossible | Possible, but at your discretion |
Use cases | E-commerce transactions, subscriptions, or fixed-fee services | Donations, pay-what-you-want services or pay-as-you-go services |
*Supported cash balances are available by currency region (USD, EUR, GBP, USDT)
How invoices work
Invoices currently can only be fulfilled via the Lightning Network, as regular on-chain transactions have longer settlement periods, which makes holding a bitcoin-to-dollar quote unaffordable. Additionally, Lightning transactions are faster and cheaper, and are often considered preferable for many bitcoin payment solutions.
Receiving payments through an invoice involves three steps:
- Creating the invoice
- Generating a quote
- Displaying the Lightning invoice to the payer
Invoices are created via an API request that specifies an amount and currency to be received. Invoices begin in the UNPAID
state. After the invoice has been created, a quote must be generated, which specifies the cost of paying the invoiced amount in bitcoin. This quote has an expiration time, offering a temporary window through which the payment can be made.
Generating a quote produces a corresponding Lightning invoice. A Lightning invoice is an alphanumeric code that contains within it the necessary information to complete a payment, including an amount to be paid in bitcoin and a payment destination. Lightning invoices can be presented to a payer as a string of characters or as a scannable QR code.
When a payer scans the QR code and confirms the payment in their Lightning-enabled wallet app, bitcoin is sent, routed through the Lightning Network, and delivered to the destination. If the payer pays using their Strike app and they’re in the same currency region as your payment request, the payment will automatically execute as a Strike-to-Strike transaction, which is instant and incurs no routing or on-chain fees. Upon delivery, the original invoice transitions to the PAID
state, which you can be notified of via webhook in order to finalize the payment process.
Read the invoice integration walkthrough below for step-by-step implementation instructions.
How receive requests work
Receive requests differ from invoices in three basic ways:
- A payment amount can be included or omitted
- Receive requests can be made either via the Lightning Network or as an on-chain transaction
- Any currency conversions occur at the market rate at the time of payment
Receive requests are created via an API request, in which you can choose to create a Lightning invoice, an on-chain address, or both, as well as set an optional payment amount and currency denomination. The API response will return the corresponding Bolt11 Lightning invoice and/or Bitcoin address, which you can present to the payer as a string of characters or as a scannable QR code.
When a payer scans the QR code and confirms the payment within their Bitcoin or Lightning-enabled wallet app, bitcoin is sent, routed through either the Lightning Network or initiated as an on-chain transaction, and delivered to the destination. If you elect to receive the payment to your cash balance, the conversion will occur at the market rate at the time of payment. If the payer pays using their Strike app and they’re in the same currency region as your payment request, the payment will automatically execute as a Strike-to-Strike transaction, which is instant and incurs no routing or on-chain fees.
Upon delivery, you can be notified of a successful transaction via webhook, and the payment process can be finalized. When a payment has been received, the onus is on you to appropriately react and evaluate the amount and status of that payment.
If you omit a payment amount in your initial request, the API response will return either a zero-amount Lightning invoice or a regular Bitcoin address, in which the payer can determine the amount to pay within their wallet app.
On the other hand, if you set an amount in the initial request, the API response will return a Lightning invoice containing a payment amount or a Bitcoin address containing a suggested payment amount. Please note, Lightning invoices containing amounts can only be paid with their exact requested amount, whereas Bitcoin addresses with suggested amounts can be paid with more or less than the suggested amount.
Read the receive request integration walkthrough below for step-by-step implementation instructions.
Invoice integration walkthrough
1. Create an invoice
Receiving a payment for a specific amount begins by creating an invoice. You can create an invoice by using the issue invoice endpoint, and specifying the desired payment amount and currency to be received. You can also add an optional description
and correlationId
to the invoice. As a best practice, we recommend that you add a correlationId
that is universally identifiable by you, and which can be used to correlate the invoice with any corresponding invoice tracking systems you have. The correlationId
must be unique otherwise the invoice creation will fail.
Below is an example request to create an invoice:
curl -X 'POST' \
'https://<ENVIRONMENT>/v1/invoices' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY> \
-H 'Content-Type: application/json' \
-d '{
"correlationId": "224bff37-021f-43e5-9b9c-390e3d834750",
"description": "Invoice for order 123",
"amount": {
"currency": "USD",
"amount": "150.00"
}
}
To use this example yourself, simply replace the placeholder values with your own values. The <ENVIRONMENT>
should be replaced with api.strike.me, and the <API_KEY>
should be replaced with your own API key bearer token.
Below is the response to the invoice creation request:
{
"invoiceId": "6b91e56d-fce9-4eec-995f-1d08fe6ba380",
"amount": {
"amount": "150.00",
"currency": "USD"
},
"state": "UNPAID",
"created": "2021-11-12T20:08:45.98159+00:00",
"correlationId": "224bff37-021f-43e5-9b9c-390e3d834750",
"description": "Invoice for order 123",
"issuerId": "bf909224-3432-400b-895a-3010302f80f5",
"receiverId": "bf909224-3432-400b-895a-3010302f80f5"
}
The above response shows the newly created invoice for $150.00 USD, which is in the UNPAID
state and is identifiable by its unique invoiceId
. For this example, both the issuerId
and receiverId
are returned as the same value: the ID of the Strike account that created the invoice. This is because the creator of the invoice and the intended recipient of the funds are the same Strike account.
In situations where you are creating an invoice on behalf of a third-party, the receiverId
will differ from the issuerId
. Learn more about creating invoices for third-parties here.
When creating an invoice, you may specify any invoiceable currency that is available for your account. To check which currencies are invoiceable for a specific Strike user, you can use the fetch public account profile info by handle endpoint. If the Strike user’s profile is set to private, the endpoint will return 404
.
Below is an example request to fetch public account profile info:
curl -X 'GET' \
'https://<ENVIRONMENT>/v1/accounts/handle/<HANDLE>/profile' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>'
Below is the response to the fetch public account profile info request:
{
"handle": "astrid_waters64",
"canReceive": true,
"currencies": [
{
"currency": "BTC",
"isDefaultCurrency": false,
"isAvailable": true,
"isInvoiceable": true
},
{
"currency": "USD",
"isDefaultCurrency": true,
"isAvailable": true,
"isInvoiceable": true
}
]
}
Any currency for which isInvoiceable
is returned as true
can be used to create an invoice with this Strike user as the intended recipient. In the above example, this Strike user has both canReceive
and isInvoiceable
set to true for both BTC and USD, meaning this user’s account can receive funds and issue invoices in bitcoin and US dollars.
If you wish to receive payments in bitcoin, you can issue the invoice creation request with the currency and amount set as bitcoin, provided your account has isInvoiceable
for BTC as true
.
Below is an example request to issue an invoice denominated in bitcoin:
curl -X 'POST' \
'https://<ENVIRONMENT>/v1/invoices' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY> \
-H 'Content-Type: application/json' \
-d '{
"correlationId": "224bff37-021f-43e5-9b9c-390e3d834750",
"description": "Invoice for order 123",
"amount": {
"currency": "BTC",
"amount": "0.00004200"
}
}
Below is the response to the bitcoin-denominated invoice creation request:
{
"invoiceId": "6b91e56d-fce9-4eec-995f-1d08fe6ba380",
"amount": {
"amount": "0.00004200",
"currency": "BTC"
},
"state": "UNPAID",
"created": "2023-05-08T18:05:27.6218085+00:00",
"correlationId": "224bff37-021f-43e5-9b9c-390e3d834750",
"description": "Invoice for order 123",
"issuerId": "bf909224-3432-400b-895a-3010302f80f5",
"receiverId": "bf909224-3432-400b-895a-3010302f80f5"
}
Once the invoice has been created, you may look up the invoice and its details by using the find invoice endpoint and specifying the invoiceId
.
Below is an example request to find an invoice:
curl -X 'GET' \
'https://<ENVIRONMENT>/v1/invoices/<INVOICE_ID>' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>'
Below is the response to the find invoice request:
{
"invoiceId": "6b91e56d-fce9-4eec-995f-1d08fe6ba380",
"amount": {
"amount": "150.00",
"currency": "USD"
},
"state": "UNPAID",
"created": "2021-11-12T20:08:45.98159+00:00",
"description": "Invoice for order 123",
"issuerId": "bf909224-3432-400b-895a-3010302f80f5",
"receiverId": "bf909224-3432-400b-895a-3010302f80f5"
}
If you need to display the invoice amount in other currencies, you can use the get currency exchange rates endpoint to retrieve the rates for supported currencies.
Below is an example request to retrieve conversion rates:
curl -X 'GET' \
'https://<ENVIRONMENT>/v1/rates/ticker' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>'
Below is the response to the conversion rates request:
[
{
"amount": "23096.6400",
"sourceCurrency": "BTC",
"targetCurrency": "USD"
},
{
"amount": "0.0000433",
"sourceCurrency": "USD",
"targetCurrency": "BTC"
},
{
"amount": "0.9998",
"sourceCurrency": "USD",
"targetCurrency": "USDT"
},
{
"amount": "1.0002",
"sourceCurrency": "USDT",
"targetCurrency": "USD"
},
{
"amount": "23092.9500",
"sourceCurrency": "BTC",
"targetCurrency": "USDT"
},
{
"amount": "0.0000433",
"sourceCurrency": "USDT",
"targetCurrency": "BTC"
}
]
2. Generate a quote
Once the invoice has been created, a quote must be generated for paying the invoice. A quote is generated using the quote generation endpoint, which will require the invoiceId
that was returned in response to the invoice creation request described in step 1.
The quote serves as a necessary step to retrieve the Lightning invoice (lnInvoice
) in preparation for execution. For cross-currency payments, such as paying a USD-invoice in bitcoin, the quote serves as a temporary exchange rate that can be executed when called upon.
When generating the quote, you can also add a descriptionHash
, which is an optional parameter as defined in the BOLT11 spec. The descriptionHash
can be used to implement the LN-URL payRequest spec. If a descriptionHash
is provided, it will be added in the resulting Lightning invoice in lieu of the invoice description detailed in step 1. The original description can still be retrieved via the find invoice endpoint.
Below is an example request to generate a quote:
curl -X 'POST' \
'https://<ENVIRONMENT>/v1/invoices/<INVOICE_ID>/quote' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-Length: 0'
Below is the response to the quote generation request:
{
"quoteId": "ee1c09c4-a6a3-4856-b886-e75fc613fea2",
"description": "Invoice for order 123",
"lnInvoice": "lnbcrt2406610n1pscajk9pp53w8whfszxhwyukdmeqgvrnavqzck68x9np8fhrvssg2s66zdrdcsdpzf9h8vmmfvdjjqen0wgsx7unyv4ezqvfjxvcqzpgxqzpffppqcuvchrllhnku2vxfdgjceup6xdnha94qsp5kgaq5vxhls6ug07saqkxkfn84hakmaztrcclychklna0jmen6hds9qyyssqzr5cfw9lqcaz7qzqtxyrzsp60ndezrg9nlqqzs6t8alffs7yay4r2w5vd6kpgde38kwx0vge7cxlur50hul6ky68pjprw6suc7c6encq3xfh93",
"onchainAddress": "bcrt1qcuvchrllhnku2vxfdgjceup6xdnha94q3s2jdy",
"expiration": "2021-11-12T20:13:35.019+00:00",
"expirationInSec": 41,
"sourceAmount": {
"amount": "0.00240661",
"currency": "BTC"
},
"targetAmount": {
"amount": "150.00",
"currency": "USD"
},
"conversionRate": {
"amount": "62328.3374",
"sourceCurrency": "BTC",
"targetCurrency": "USD"
}
}
The above response shows the generated quote, identifiable by its unique quoteId
. The quote contains the amount needed to pay the invoice in bitcoin, a corresponding Lightning invoice (lnInvoice
), an expiration time, and the exchange rate (conversionRate
) between the source and target currencies. After the expiration time has passed, the quote will no longer be usable and a new quote must be generated.
Please note that for bitcoin-denominated invoices, the conversionRate
will simply be 1 and the expiration period will be 1 hour (3,600 seconds). For cross-currency invoices, the expiration time will be 30 seconds.
3. Share payment info
After a quote has been generated, the next step is to present the payment information to the payer. This can be done by sharing the quote’s lnInvoice
as a string of characters or a scannable QR code. The lnInvoice
has encoded within it the amount to be paid in bitcoin and the payment destination.
The payer can scan the QR code or paste the string of characters using their Lightning-enabled Bitcoin wallet app and confirm the payment. If the payer pays using their Strike app and they’re in the same currency region as your payment request, the payment will automatically execute as a Strike-to-Strike transaction, which is instant and incurs no routing fees.
There are a number of libraries available to facilitate displaying QR codes, including the qrcode.react library. You can find an example Lightning invoice QR code and corresponding alphanumeric representation below:
LNBC10U1P3PJ257PP5YZTKWJCZ5FTL5LAXKAV23ZMZEKAW37ZK6KMV80PK4XAEV5QHTZ7QDPDWD3XGER9WD5KWM36YPRX7U3QD36KUCMGYP282ETNV3SHJCQZPGXQYZ5VQSP5USYC4LK9CHSFP53KVCNVQ456GANH60D89REYKDNGSMTJ6YW3NHVQ9QYYSSQJCEWM5CJWZ4A6RFJX77C490YCED6PEMK0UPKXHY89CMM7SCT66K8GNEANWYKZGDRWRFJE69H9U5U0W57RRCSYSAS7GADWMZXC8C6T0SPJAZUP6
4. Receive the payment
The payer scans the Lightning invoice QR code and confirms the payment in their wallet app prior to the quote’s expiration.
For cross-currency payments (such as BTC to USD), the quote’s expiration time is set at 30 seconds, within which the Lightning invoice must be paid. If the 30 seconds expires, any Lightning payment sent to the lnInvoice
will fail. For same-currency payments (such as BTC to BTC), the quote’s expiration time is set at 1 hour, within which the Lightning invoice must be paid.
5. Check payment status
If the payment is successful, the original Strike invoice from step 1 will transition to the PAID
state.
You can be notified of an invoice state
change by subscribing to the invoice.updated
webhook event. When one of your subscribed events occurs, a POST
request will be automatically made to the webhook URI of the subscription. For details on how to subscribe to events visit the webhooks section.
Below is an example of a webhook subscription response:
{
"id": "245e40d8-f197-411c-8f20-a326d08da402",
"eventType": "invoice.updated",
"webhookVersion": "v1",
"data": {
"entityId": "6b91e56d-fce9-4eec-995f-1d08fe6ba380",
"changes": [
"state"
]
},
"created": "2022-01-03T18:15:00+01:00",
"deliverySuccess": true
}
In this response, the “id
” is the webhook event ID and the entityId
is the invoiceId
created in step 1, indicating that the state
of the invoice has changed.
Please note that the webhook subscription response doesn’t contain the new invoice state
, rather it describes that the state
has changed. To request the new state
of the invoice, use the find invoice endpoint and specify the relevant invoiceId
.
Below is an example of a find invoice request:
curl -X 'GET' \
'https://<ENVIRONMENT>/v1/invoices/<INVOICE_ID>' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>'
Below is the response to the find invoice request:
{
"invoiceId": "6b91e56d-fce9-4eec-995f-1d08fe6ba380",
"amount": {
"amount": "150.00",
"currency": "USD"
},
"state": "PAID",
"created": "2021-11-12T20:08:45.98159+00:00",
"description": "Invoice for order 123",
"issuerId": "bf909224-3432-400b-895a-3010302f80f5",
"receiverId": "bf909224-3432-400b-895a-3010302f80f5"
}
If the invoice’s state
is returned as PAID
, then the payment was successful and the funds have been deposited into your Strike account.
If the payment is not made before the quote expires, you’ll need to generate a new quote (at the start of step 2), which will contain a new corresponding lnInoivce
to be presented to the payer.
You can also use the get invoices endpoint at any time to retrieve information on multiple invoices. When using this endpoint, you can filter by various fields such as the invoice’s creation date, currency
, current state
, issuerId
, receiverId
, payerId
, and correlationId
. This endpoint uses OData syntax for filtering, pagination, and ordering.
The below example is a request to retrieve invoices, and apply a filter to include only those in an UNPAID
state, order them in ascending order by creation time, skip the first invoice, and return only the top 2 invoices:
curl -X 'GET' \
'https://<ENVIRONMENT>/v1/invoices?%24filter=state%20eq%20%27UNPAID%27&%24orderby=created%20asc&%24skip=1&%24top=2' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>'
Below is the response to the filtered and ordered get invoices request:
{
"items": [
{
"invoiceId": "487b2454-31eb-43e0-8743-48d0020738d7",
"amount": {
"currency": "USD",
"amount": "15.00"
},
"state": "UNPAID",
"created": "2021-09-09T03:57:47.829226+02:00",
"description": "stack sats",
"issuerId": "bf909224-3432-400b-895a-3010302f80f5",
"receiverId": "bf909224-3432-400b-895a-3010302f80f5"
},
{
"invoiceId": "6f648c48-882a-4cf8-ad2c-d53cb699a073",
"amount": {
"currency": "USD",
"amount": "150.00"
},
"state": "UNPAID",
"created": "2021-10-30T20:30:27.071595+02:00",
"correlationId": "224bff37-021f-43e5-9b9c-390e3d834741",
"description": "Invoice for order 123",
"issuerId": "bf909224-3432-400b-895a-3010302f80f5",
"receiverId": "bf909224-3432-400b-895a-3010302f80f5"
}
],
"count": 2
}
The count
at the end of the response represents the total number of invoices that satisfy the provided filter.
Receive request integration walkthrough
1. Create a receive request
Receiving a payment via a receive request begins by using the create a receive request endpoint. When calling this endpoint, you can set an empty bolt11
object and/or onchain
object, which will cause the API response to include a Bolt11 Lightning invoice and/or Bitcoin address, respectively.
Additionally, within the bolt11
or onchain
object you can optionally choose to include an amount
object, where you can specify a payment amount and currency denomination to receive. Omitting an amount
object will result in the return of a zero-amount Lightning invoice and/or a Bitcoin address with no suggested amount. You can also set an optional expiration time for Lightning invoices, otherwise the expiration will default to 24 hours.
Below is an example request to create a receive request.
curl -L -X POST 'https://<ENVIRONMENT>/v1/receive-requests' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <API_KEY>\
--data-raw '{
"bolt11": {
"amount": {
"amount": "10.00",
"currency": "USD"
},
"description": "For pizza",
"descriptionHash": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1",
"expiryInSeconds": 60
},
"onchain": {
"amount": {
"amount": "1000.00",
"currency": "USD"
}
},
"targetCurrency": "USD"
}
The above request sets a bolt11
and an onchain
object, each with their own separate requested amount denominated in USD. If either of these are paid, the payment will be received as USD, since that is the targetCurrency
. The bolt11
object also has the optional description
, descriptionHash
, and expiryInSeconds
included.
To use this example yourself, simply replace the placeholder values with your own values. The <ENVIRONMENT>
should be replaced with api.strike.me, and the <API_KEY>
should be replaced with your own API key bearer token.
Below is the response to the receive request creation:
{
"receiveRequestId": "0191382f-387c-4eec-bc74-980872bfc5e5",
"created": "2024-10-09T20:59:05.5433138+00:00",
"targetCurrency": "USD",
"bolt11": {
"invoice": "lnbc165270n1pnsdm5epp58lf4avkw7adj24zhaalce87cr5ldtcz5j5sdu6a4x97nzhspjn6shp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqscqzzsxqzpmsp5uxepuyt83xkwyl7cxfdtjdczlp3ax0zrfqt50qr697u0y5cn6u4q9qxpqysgq2dtyd2erxh6yh3pc7spxvkhm50ff79xfqrewzey5lt4xk54jxfvhv4f9twnzs2mcpawttdqumjf3uq6cfhj5fqcw3xeycd4vpgznc3gq3xtj8p",
"requestedAmount": {
"amount": "10.00",
"currency": "USD"
},
"btcAmount": "0.00016527",
"description": "For pizza",
"descriptionHash": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1",
"paymentHash": "3fd35eb2cef75b255457ef7f8c9fd81d3ed5e0549520de6bb5317d315e0194f5",
"expires": "2024-10-09T21:00:05.5433138+00:00"
},
"onchain": {
"address": "bc1qknames7kz5h0h5vf7thtfm394em9wjsudn7v30",
"addressUri": "bitcoin:bc1qknames7kz5h0h5vf7thtfm394em9wjsudn7v30?amount=0.01652619",
"requestedAmount": {
"amount": "1000.00",
"currency": "USD"
},
"btcAmount": "0.01652619"
}
}
The above response shows the newly created receive request, identifiable by its unique receiveRequestId
. It contains both a Bolt11 Lightning invoice and an on-chain address, as well as an on-chain address URI that contains a suggested payment amount.
The Bolt11 Lightning invoice is for 0.00016527 BTC, equivalent to the requested $10.00 USD at the time the receive request was created, as well as a 60 second expiration time. Payments sent after expiration will fail. The on-chain address URI suggests a payment of 0.01652619 BTC, equivalent to the $1,000 USD at the time the receive request was created, but this suggested amount can be ignored by the payer.
2. Share payment info
As mentioned above in the invoice integration walkthrough, the Bolt11 invoice or on-chain address can be presented to the payer as a string of characters or as a scannable QR code, using publicly available libraries. The payer scans the QR code with their Bitcoin or Lightning-enabled wallet, and their bitcoin is sent either through the Lightning Network, initiated as an on-chain transaction, or sent as a Strike-to-Strike transaction if the payer uses their Strike app and is in the same currency region as the payment request.
If the receive request’s targetCurrency
is set to USD, the bitcoin will be received as USD at the exchange rate at the time the payment is delivered (for Lightning or Strike-to-Strike) or upon receiving 1 confirmation (for on-chain).
3. Check payment status
Once the payer pays the Lightning invoice within the expiration time or sends bitcoin to the on-chain address and 1 confirmation elapses, the transaction is complete.
You can be notified of a completed receive request by subscribing to the receive-request.receive-pending
webhook event, or you can detect block confirmations by subscribing to the receive-request.receive-completed
webhook event. For details on how to subscribe to events visit the webhooks section.
Below is a webhook creation example:
curl -X 'POST' \
'https://<ENVIRONMENT>/v1/subscriptions' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"webhookUrl": "<WEBHOOK_BIN>",
"webhookVersion": "v1",
"secret": "ScKc2Phr37RzfESKGYPh6CnZqNxc9t",
"enabled": true,
"eventTypes": [
"receive-request.receive-pending",
"receive-request.receive-completed"
]
}'
Below are the example webhook responses:
{
"id": "9413cfa2-9152-4b85-95bb-436a0016a0cf",
"eventType": "receive-request.receive-pending",
"webhookVersion": "v1",
"data": {
"entityId": "0191382f-387c-4eec-bc74-980872bfc5e5",
"receiveId": "24180fae-a62d-4583-a960-759d605d252b"
},
"created": "2024-10-14T10:24:47.0326505+00:00"
}
{
"id": "2aa19d2a-22eb-4868-8fad-8ad765491c3b",
"eventType": "receive-request.receive-completed",
"webhookVersion": "v1",
"data": {
"entityId": "0191382f-387c-4eec-bc74-980872bfc5e5",
"receiveId": "24180fae-a62d-4583-a960-759d605d252b"
},
"created": "2024-10-14T10:25:18.8850861+00:00"
}
The entityId
corresponds to the receiveRequestId
, while the receiveId
is the ID of the incoming payment.
To directly query payments, you can use the get receives for receive request endpoint, which when queried, provides more detail about the received payment including any description, pre-image (Lightning), number of confirmations (onchain), and Strike username (if paid from another Strike user).
Any subsequent payments sent to an on-chain address will still be received to your account according to the specified targetCurrency
of the receive request at the exchange rate at the time of payment delivery.