Create a card deposit
https://api2.payeeglobal.com/v2/upi/payinCreates a card deposit when the fields carry "payment_method": "card". The path contains upi for historical reasons; it is the one create call for every deposit method. The fields are listed above.
Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer <API key> |
Content-Type | Yes | application/json |
Idempotency-Key | Recommended | 1 to 200 printable ASCII characters, unique per deposit. Reuse it to retry the same deposit safely. See safe retries. |
X-Api-Status-Codes | No | strict gives real HTTP codes on error answers. |
Request fields, before encryption
Serialise these as JSON, encrypt them as described in the authentication guide, and send only the ciphertext.
{
"payment_method": "card",
"currency": "USD",
"amount": "50.00",
"merchant_order_id": "ORDER-10045",
"first_name": "Alex",
"last_name": "Morgan",
"email": "alex.morgan@example.com",
"country": "CA",
"response_url": "https://shop.example.com/checkout/return",
"webhook_url": "https://shop.example.com/webhooks/payee-global"
}Request body sent
{
"encrypted_data": "<BASE64_CIPHERTEXT>"
}Answers
The deposit, waiting for the customer; or a refusal. Read status in the body.
{
"status": "authenticate",
"authenticate_url": "https://api2.payeeglobal.com/app2/checkout/<token>",
"merchant_order_id": "ORDER-10045",
"transaction_id": "TK3V9QX2M1791021600123",
"amount": "50.00",
"message": "Enter card details.",
"currency": "USD",
"payment_method": "card"
}{
"status": "validation_error",
"message": "Payment method card is not enabled for EUR."
}{
"status": "validation_error",
"message": "Duplicate order_id, field must be unique."
}{
"status": "blocked",
"merchant_order_id": "ORDER-10047",
"transaction_id": "TR8W2NC4L1791022500456",
"amount": "50.00",
"message": "No PG account to process payin.",
"currency": "USD",
"payment_method": "card"
}{
"status": "unauthorized",
"message": "Authentication failed."
}