Test Payoneer Payouts — Batches and Payee Status
A batch payout can partially succeed.
Payoneer pays some, fails others,
rolls back nothing.
Payoneer is not a checkout gateway — it's a payout platform. Instead of collecting money from customers, you use it to pay sellers, contractors, and affiliates at scale. A single API call can batch dozens of cross-border transfers across multiple currencies.
Use case
B2B payouts
Currencies
Multi-currency
To start
0 setup
Payoneer is fundamentally different from most payment gateways on this list. Where Stripe, PayPal, and Razorpay help you collect money from customers, Payoneer helps you send money to recipients — contractors, marketplace sellers, affiliates, or any payee with a Payoneer account. This means there is no checkout flow, no customer redirect, and no card form. The entire flow is server-side.
The Payouts API accepts a payee_id (the recipient's Payoneer account identifier), an amount, and a currency. You can submit individual payouts or batch multiple recipients into a single API call. Batches are processed asynchronously — each payout gets its own status: PENDING while queued, PROCESSING while being sent, PAID when received. A batch can partially succeed — some payouts PAID while others FAILED.
Common failure reasons include PAYEE_ACCOUNT_INACTIVE (recipient hasn't activated their Payoneer account), INSUFFICIENT_BALANCE (your balance is too low), and CURRENCY_NOT_SUPPORTED. You need to handle these per-payout errors in batch responses, not just a top-level success/failure. This mock delivers the full batch payout flow and all status transitions.
Payouts, not collections
Most payment gateways move money toward you. Payoneer moves money away from you. That's not a limitation — it's the whole point. If you're building a marketplace, a gig platform, or an affiliate network, your problem isn't collecting payments: it's distributing them.
Standard gateway (Stripe, PayPal)
Customer
pays $50
You
receive $50
You are the merchant. Customers pay you. Your bank account fills up.
Payoneer
You
send $250
Recipient
contractor / seller
You are the payer. Sellers, contractors, affiliates receive money from you.
Common use cases: marketplace seller payouts, freelance platform contractor payments, affiliate network commissions, content creator royalties.
Mass payout flow
Payoneer processes payouts asynchronously. You submit a batch, receive a batch_id immediately, then track individual statuses as they settle. A batch can span multiple currencies and dozens of recipients.
Batch the payouts
Build a list of recipients (payee_id + amount + currency). Each entry gets a client_reference_id you define — this is how you match webhook events back to your internal records.
Submit the batch
POST the entire array in one request. Payoneer returns a batch_id immediately with status PENDING. Batches can contain payouts in multiple currencies.
Track per-recipient status
Poll GET /payouts/{batch_id} or listen for payout.paid and payout.failed webhooks. Each recipient has its own status — a batch can be partially successful.
Payout statuses
Each entry in a batch has its own lifecycle. Handle all five states.
In the queue, not yet sent to the recipient.
Being transferred — funds are in flight to the recipient's account.
Recipient received funds. Update your records and mark the payout complete.
Payout did not complete. Check error_code in the webhook or batch status response.
Cancelled before processing began. Can be re-submitted as a new payout.
curl -X POST https://mockgateway.com/api/base/payoneer/init \
-H "Authorization: Bearer YOUR_MOCK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payouts": [
{
"payee_id": "payoneer_uid_00481",
"amount": 250.00,
"currency": "USD",
"description": "Freelance project — March invoice",
"client_reference_id": "PAY-REF-20001"
},
{
"payee_id": "payoneer_uid_00927",
"amount": 1800.00,
"currency": "EUR",
"description": "Marketplace seller payout — week 12",
"client_reference_id": "PAY-REF-20002"
}
]
}'Request parameters
Sent to POST /api/base/payoneer/init
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | number | required | Transaction amount e.g. 99.99 |
currency | string | required | ISO 4217 currency e.g. USD |
order_id | string | required | Your unique order reference e.g. ORD-12345 |
description | string | optional | Payment description |
Response fields
| Field | Type | Description |
|---|---|---|
transaction_id | string | Payoneer transaction ID |
status | enum | Transaction status |
created_at | datetime |
Frequently asked questions
Other gateway templates
Looking for a different provider?
Stripe
Test Stripe payments without credentials.
PayPal
Test PayPal payments without credentials.
2Checkout
Test 2Checkout payments without credentials.
Braintree
Test Braintree payments without credentials.
Adyen
Test Adyen payments without credentials.
Square
Test Square payments without credentials.
Mollie
Test Mollie payments without credentials.
Authorize.Net
Test Authorize.Net payments without credentials.
Checkout.com
Test Checkout.com payments without credentials.
Razorpay
Test Razorpay payments without credentials.
Worldpay
Test Worldpay payments without credentials.
Helcim
Test Helcim payments without credentials.
Skrill
Test Skrill payments without credentials.