-
Notifications
You must be signed in to change notification settings - Fork 0
3. Merchant Guide
WoompaLoompa edited this page Jul 23, 2026
·
1 revision
- Customer reaches checkout and selects Bitcoin Lightning (CLINK) as payment method
- The plugin creates a CLINK payment offer (
noffer1...bech32 string) linked to the order - Customer scans/pastes the
nofferstring in a CLINK-compatible wallet - Wallet resolves the offer via Nostr relay and pays the Lightning invoice
- The plugin's payment monitor receives confirmation via Nostr Kind 21001 events
- Payment is marked as settled and the order advances
- Go to Admin > Settings > Payment Methods
- Click Add Payment Method
- Select Bitcoin Lightning (CLINK) (code:
clink-lightning) - Configure the payment method args:
- Relay URLs: Nostr relay(s) for payment communication
- Offer Expiry Minutes: How long customers have to pay
- Save
| Payment State | Meaning |
|---|---|
Created |
CLINK offer generated, awaiting customer payment |
Settled |
Payment confirmed via Nostr relay or HTTP webhook |
Error |
Payment creation failed (e.g., SDK error) |
Cancelled |
Merchant or system cancelled the offer |
query {
clinkOffers(status: "pending", limit: 20) {
totalItems
items {
id
offerId
noffer
amountSats
status
bolt11Invoice
expiresAt
paidAt
}
}
}Order Created
↓
addPaymentToOrder(method: "clink-lightning")
↓
ClinkPaymentHandler.createPayment()
↓
ClinkOffer created in DB (status: "pending")
↓
noffer1... string returned to storefront
↓
[Customer pays via CLINK wallet]
↓
Nostr relay sends Kind 21001 event
↓
PaymentMonitorService decrypts & verifies
↓
ClinkOffer marked as "paid"
↓
Order advances to next state
For wallets that don't support Nostr, the HTTP fallback endpoint accepts:
POST /payments/clink
Content-Type: application/json
{
"offerId": "vendure_ORDERCODE_1234567890",
"bolt11": "lnbc...",
"preimage": "hex_preimage"
}
Response:
{ "success": true, "message": "Payment settled successfully" }