Crypto Payment API
Create and manage one-time crypto payments (Payment In and Payment Out).
Create Payment
POST /api/v1/pay/summary
Create a new payment request.
| Field | Type | Required | Description |
|---|---|---|---|
merchantId | UUID | Yes | Merchant identifier |
type | string | Yes | "IN" (receive) or "OUT" (payout) |
amount | number | Yes | Payment amount |
currency | string | Yes | Display currency (ISO 4217) |
reference | string | Yes | Unique merchant reference |
paidCurrency | string | No | Pre-select crypto currency |
expiryMinutes | number | No | Payment window (default: 30) |
returnUrl | string | No | Customer redirect URL |
metadata | object | No | Key-value pairs (max 10) |
complianceDetails | object | No | Travel Rule originator/beneficiary data |
Response:
{
"uuid": "payment-uuid",
"merchantId": "merchant-uuid",
"status": "PENDING",
"type": "IN",
"reference": "order-12345",
"displayCurrency": {
"currency": "EUR",
"amount": 100.00
},
"paidCurrency": {
"currency": "USDC",
"amount": 108.50
},
"exchangeRate": {
"base": "USDC",
"counter": "EUR",
"rate": 0.9216
},
"address": {
"address": "0xABCD...1234",
"uri": "ethereum:0xABCD...1234?amount=108.50",
"network": "ETHEREUM",
"tag": null
},
"redirectUrl": "https://pay.wickiepay.com/payment-uuid",
"expiryDate": "2026-01-15T10:30:00Z",
"transactions": [],
"metadata": {}
}
List Payments
GET /api/v1/pay/summary
| Query | Type | Required | Description |
|---|---|---|---|
merchantId | UUID | Yes | Merchant identifier |
status | string | No | PENDING, PROCESSING, COMPLETE, UNDERPAID, EXPIRED, CANCELLED |
customerReference | string | No | Filter by customer reference |
paymentExternalId | string | No | Filter by external ID |
fromDate | ISO 8601 | No | Start date |
toDate | ISO 8601 | No | End date |
offset | number | No | Pagination offset |
max | number | No | Page size |
order | string | No | asc or desc |
Get Payment
GET /api/v1/pay/{uuid}
Returns full payment details including transactions, exchange rate, and metadata.
Update Payment
PUT /api/v1/pay/{uuid}/update/summary
Update a pending payment with currency or payout information.
Accept Payment
PUT /api/v1/pay/{uuid}/accept/summary
Accept a pending or underpaid payment as complete.
Validate Address
PUT /api/v1/pay/{uuid}/validate
Validate a blockchain address for a payout payment.
| Field | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Destination wallet address |
network | string | Yes | Blockchain network |
Payment Statuses
| Status | Description |
|---|---|
PENDING | Created, waiting for customer action |
PROCESSING | Blockchain transaction detected, awaiting confirmations |
COMPLETE | Payment confirmed and settled |
UNDERPAID | Customer sent less than the required amount |
EXPIRED | Payment window expired |
CANCELLED | Payment was cancelled |
Compliance Details
For Travel Rule compliance, include the complianceDetails object:
{
"complianceDetails": {
"originator": {
"name": "Sender Name",
"accountNumber": "wallet-or-account",
"country": "DE"
},
"beneficiary": {
"name": "Receiver Name",
"accountNumber": "0xRECEIVER...ADDR",
"country": "CH"
}
}
}