Payment Out — Send Digital Asset Payouts
Send cryptocurrency payouts to your customers for refunds, withdrawals, or rewards.
Flow
1. Create Payout (API)
2. Customer provides wallet address (or use Hosted Page)
3. WickiePay sends crypto to customer's address
4. Transaction confirmed → status: COMPLETE
5. Webhook notification sent
Create a Payout
POST /api/v1/pay/summary
Content-Type: application/json
{
"merchantId": "your-merchant-id",
"type": "OUT",
"amount": 25.00,
"currency": "EUR",
"reference": "refund-2026-001",
"returnUrl": "https://yoursite.com/payout/complete"
}
Payout Parameters
| Parameter | Required | Description |
|---|---|---|
merchantId | Yes | Your merchant UUID |
type | Yes | "OUT" for sending payouts |
amount | Yes | Payout amount |
currency | Yes | Display currency (EUR, USD, etc.) |
reference | Yes | Your unique reference |
paidCurrency | No | Pre-select the crypto to send (e.g., "USDC") |
returnUrl | No | Redirect URL after payout claim |
Response
{
"uuid": "payout-uuid-456",
"status": "PENDING",
"type": "OUT",
"displayCurrency": {
"currency": "EUR",
"amount": 25.00
},
"redirectUrl": "https://pay.wickiepay.com/payout-uuid-456",
"expiryDate": "2026-01-15T10:30:00Z"
}
Directing the Customer
Redirect the customer to the redirectUrl where they can:
- Select their preferred cryptocurrency (if not pre-selected)
- Provide their wallet address
- Confirm the payout
Alternatively, build your own UI and use the API to validate the address:
PUT /api/v1/pay/{uuid}/validate
Content-Type: application/json
{
"address": "0xCUSTOMER...WALLET",
"network": "ETHEREUM"
}
Pre-selecting the Digital Asset
POST /api/v1/pay/summary
{
"merchantId": "your-merchant-id",
"type": "OUT",
"amount": 25.00,
"currency": "EUR",
"paidCurrency": "USDC",
"reference": "refund-2026-002"
}
Payout Statuses
| Status | Description |
|---|---|
PENDING | Payout created, waiting for customer to provide address |
PROCESSING | Transaction submitted to blockchain |
COMPLETE | Transaction confirmed, payout delivered |
CANCELLED | Payout cancelled before processing |
EXPIRED | Customer did not claim within the expiry window |
Next Steps
- Hosted Checkout — Use the hosted page for payouts
- Webhooks — Listen for payout status updates