Skip to main content

Payment In — Receive Digital Asset Payments

Accept cryptocurrency payments from your customers with automatic settlement to your preferred currency.

Flow

1. Create Payment (API)
2. Customer sends crypto to the provided address
3. Transaction detected → status: PROCESSING
4. Confirmations complete → status: COMPLETE
5. Funds settled to your Asset Pool
6. Webhook notification sent

Create a Payment

POST /api/v1/pay/summary
Content-Type: application/json

{
"merchantId": "your-merchant-id",
"type": "IN",
"amount": 50.00,
"currency": "EUR",
"reference": "invoice-2026-001",
"expiryMinutes": 30,
"returnUrl": "https://yoursite.com/payment/success",
"metadata": {
"customerId": "cust-123",
"orderId": "order-456"
}
}

Payment Parameters

ParameterRequiredDescription
merchantIdYesYour merchant UUID
typeYes"IN" for receiving payments
amountYesPayment amount
currencyYesDisplay currency (EUR, USD, GBP, etc.)
referenceYesYour unique reference for this payment
expiryMinutesNoTime window for payment (default: 30 min)
returnUrlNoRedirect URL after payment
metadataNoKey-value pairs for your internal tracking (max 10)
complianceDetailsNoTravel Rule information (see Travel Rule)

Response

{
"uuid": "pay-uuid-123",
"merchantId": "your-merchant-id",
"status": "PENDING",
"reference": "invoice-2026-001",
"displayCurrency": {
"currency": "EUR",
"amount": 50.00
},
"paidCurrency": {
"currency": "USDC",
"amount": 54.25
},
"exchangeRate": {
"base": "USDC",
"counter": "EUR",
"rate": 0.9216
},
"address": {
"address": "0xABCD...1234",
"uri": "ethereum:0xABCD...1234?amount=54.25",
"network": "ETHEREUM",
"tag": null
},
"redirectUrl": "https://pay.wickiepay.com/pay-uuid-123",
"expiryDate": "2026-01-15T10:30:00Z",
"metadata": {
"customerId": "cust-123",
"orderId": "order-456"
}
}

Pre-selecting the Digital Asset

Allow customers to pay with a specific cryptocurrency by setting paidCurrency:

POST /api/v1/pay/summary

{
"merchantId": "your-merchant-id",
"type": "IN",
"amount": 50.00,
"currency": "EUR",
"paidCurrency": "BTC",
"reference": "invoice-2026-002"
}

If omitted, the customer can choose from all supported assets on the payment page.

Handling Underpayments

If a customer sends less than the required amount, the payment status becomes UNDERPAID.

Options:

  1. Accept — Accept the partial payment as complete
  2. Wait — Keep the payment open for the customer to send the remaining amount
  3. Cancel — Cancel and refund the partial amount
PUT /api/v1/pay/{uuid}/accept/summary

QR Code Integration

The address.uri field contains a payment URI that can be rendered as a QR code:

ethereum:0xABCD...1234?amount=54.25

Use any QR code library to generate a scannable code from this URI.

Listening for Status Updates

Set up Webhook Listeners to receive real-time notifications when payment status changes.

Next Steps