2% FEE FOR ALL CRYPTO!
webhookUrl you provided.The webhook is triggered every time the status or amount changes.
Make sure your endpoint responds with HTTP 200. Otherwise, Zelling will retry the webhook delivery.
amountReceivedTotalwill accumulate partial payments until full confirmation.
{
"pid": "PAY-1234567890",
"currency": "EUR",
"amountExpected": 150.75,
"amountReceivedTotal": 75.50,
"status": "PARTIALLY_PAID",
"payoutEmail": "your-paypal@example.com",
"senderEmail": "payer@example.com",
"note": "bubbleshoutsoftdrumtowerglory",
"webhookUrl": "https://example.com/webhook",
"hostedUrl": "https://pay.paypal.zelling.io/PAY-1234567890",
"meta": {
"orderId": "ORD-001",
"customerId": "12345",
"notes": "Urgent payment"
}
}| Field | Type | Description |
|---|---|---|
pid | string | Unique identifier of the payment |
currency | string | Currency of the payment (e.g., EUR, USD) |
amountExpected | number | Total expected amount for this payment |
amountReceivedTotal | number | Total amount received so far |
status | string | Current status of the payment (NEW, PARTIALLY_PAID, CONFIRMED) |
payoutEmail | string | PayPal email where funds will be sent |
senderEmail | string | Email of the person who sent the payment |
note | string | Unique note for this transaction (used for matching) |
webhookUrl | string | Your webhook URL (same as provided) |
hostedUrl | string | Customer-facing hosted payment URL |
meta | object | Optional metadata passed during payment creation |