Authenticate
Create a live merchant key and send it in X-API-Key. The key decides the tenant—never an email in the request.
Create tenant-isolated orders, control payout wallets, discover payment methods, and reconcile settlement through one server API.
Create a live merchant key and send it in X-API-Key. The key decides the tenant—never an email in the request.
POST /v1/orders creates an UNPAID order and returns your Paymegate checkout URL. No transaction exists yet.
A verified payment callback marks the order PAID, creates its transaction, and triggers your merchant webhook.
Amounts are exact decimal strings. The checkout URL in the response is the only URL you share with the customer.
curl --request POST "$PAYMEGATE_BASE_URL/v1/orders" \
--header "X-API-Key: $PAYMEGATE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"amount": "20.00",
"currency": "USD",
"paymentMethodsKeys": ["all"],
"customer": {
"email": "[email protected]",
"fullName": "Example Customer"
}
}'OpenAPI reference
Six server-to-server operations. Every request uses your merchant API key—never a JWT.
/v1/ordersCreates an UNPAID order and returns the Paymegate checkout URL you share with the customer. Add receivingWallet to override the payout wallet for this order when the merchant enabled overrides.
X-API-Key: $PAYMEGATE_API_KEYcurl --request POST "$PAYMEGATE_BASE_URL/v1/orders" \
--header "X-API-Key: $PAYMEGATE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"amount": "20.00",
"currency": "USD",
"paymentMethodsKeys": ["all"],
"customer": {
"email": "[email protected]",
"fullName": "Example Customer"
}
}'{
"success": true,
"data": {
"orderUUID": "9cb50d55-9e02-4fc0-a824-277ac39b4144",
"status": "UNPAID",
"amount": "20.00",
"currency": "USD",
"paymentMethodsKeys": ["stripe", "coinbase", "paypal"],
"checkoutUrl": "https://www.paymegate.com/pay/9cb50d55-9e02-4fc0-a824-277ac39b4144"
}
}