Skip to main content

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:

TypeInvoiceReceive request
Supported railsBolt11 Lightning invoiceOn-chain or Bolt11 Lightning invoice
Payment amountRequiredOptional
Settlement currencyBitcoin or USD*Bitcoin or USD*
Currency conversionGuaranteed rate for 30 secondsMarket rate at time of payment
Under/overpaymentsImpossiblePossible, but at your discretion
Use casesE-commerce transactions, subscriptions, or fixed-fee servicesDonations, 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:

  1. Creating the invoice
  2. Generating a quote
  3. 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:

  1. A payment amount can be included or omitted
  2. Receive requests can be made either via the Lightning Network or as an on-chain transaction
  3. 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:

Example request:
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:

Example response:
{
"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:

Example request:
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:

Example response:
{
"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:

Example request:
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:

Example response:
{
"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:

Example 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:

Example response:
{
"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:

Example request:
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:

Example response:
[
{
"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:

Example request:
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:

Example response:
{
"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:

Invoice QR code

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:

Example 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:

Example 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:

Example response:
{
"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:

Example request:
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:

Example response:
{
"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.

Example 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:

Example response:
{
"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:

Example request:
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:

Example response:
{
"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"
}
Example response:
{
"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.