curl -X POST "https://api.orsunpay.com/v1/payment/payout" \
-H "x-api-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}'
const response = await fetch("https://api.orsunpay.com/v1/payment/payout", {
method: "POST",
headers: {
"x-api-key": "your-api-key-here",
"Content-Type": "application/json",
},
body: JSON.stringify({
amount: 5000,
currency: "USD",
paymentMethod: "bank_transfer_001",
merchantId: "mr_clyv2goxb0000z8b8j5y6fl1j",
orderId: "payout_123",
buyerId: "customer_123",
successUrl: "https://example.com/success",
failureUrl: "https://example.com/failure",
returnUrl: "https://example.com/return",
callbackUrl: "https://example.com/callback",
customer: {
email: "[email protected]",
firstName: "John",
lastName: "Doe",
},
}),
});
const data = await response.json();
console.log(data);
import requests
import json
response = requests.post(
'https://api.orsunpay.com/v1/payment/payout',
headers={
'x-api-key': 'your-api-key-here',
'Content-Type': 'application/json'
},
json={
'amount': 5000,
'currency': 'USD',
'paymentMethod': 'bank_transfer_001',
'merchantId': 'mr_clyv2goxb0000z8b8j5y6fl1j',
'orderId': 'payout_123',
'buyerId': 'customer_123',
'successUrl': 'https://example.com/success',
'failureUrl': 'https://example.com/failure',
'returnUrl': 'https://example.com/return',
'callbackUrl': 'https://example.com/callback',
'customer': {
'email': '[email protected]',
'firstName': 'John',
'lastName': 'Doe'
}
}
)
print(response.json())
<?php
$data = [
'amount' => 5000,
'currency' => 'USD',
'paymentMethod' => 'bank_transfer_001',
'merchantId' => 'mr_clyv2goxb0000z8b8j5y6fl1j',
'orderId' => 'payout_123',
'buyerId' => 'customer_123',
'successUrl' => 'https://example.com/success',
'failureUrl' => 'https://example.com/failure',
'returnUrl' => 'https://example.com/return',
'callbackUrl' => 'https://example.com/callback',
'customer' => [
'email' => '[email protected]',
'firstName' => 'John',
'lastName' => 'Doe'
]
];
$ch = curl_init('https://api.orsunpay.com/v1/payment/payout');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: your-api-key-here',
'Content-Type: application/json',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
data := map[string]interface{}{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": map[string]string{
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
},
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", "https://api.orsunpay.com/v1/payment/payout", bytes.NewBuffer(jsonData))
req.Header.Set("x-api-key", "your-api-key-here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}
require 'net/http'
require 'json'
uri = URI('https://api.orsunpay.com/v1/payment/payout')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['x-api-key'] = 'your-api-key-here'
request['Content-Type'] = 'application/json'
request.body = {
amount: 5000,
currency: 'USD',
paymentMethod: 'bank_transfer_001',
merchantId: 'mr_clyv2goxb0000z8b8j5y6fl1j',
orderId: 'payout_123',
buyerId: 'customer_123',
successUrl: 'https://example.com/success',
failureUrl: 'https://example.com/failure',
returnUrl: 'https://example.com/return',
callbackUrl: 'https://example.com/callback',
customer: {
email: '[email protected]',
firstName: 'John',
lastName: 'Doe'
}
}.to_json
response = http.request(request)
puts response.body
import java.io.*;
import java.net.http.*;
import java.net.URI;
public class CreateWithdrawal {
public static void main(String[] args) throws Exception {
String json = """
{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.orsunpay.com/v1/payment/payout"))
.header("x-api-key", "your-api-key-here")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
private static readonly HttpClient client = new HttpClient();
static async Task Main()
{
var data = new
{
amount = 5000,
currency = "USD",
paymentMethod = "bank_transfer_001",
merchantId = "mr_clyv2goxb0000z8b8j5y6fl1j",
orderId = "payout_123",
buyerId = "customer_123",
successUrl = "https://example.com/success",
failureUrl = "https://example.com/failure",
returnUrl = "https://example.com/return",
callbackUrl = "https://example.com/callback",
customer = new
{
email = "[email protected]",
firstName = "John",
lastName = "Doe"
}
};
string json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("x-api-key", "your-api-key-here");
HttpResponseMessage response = await client.PostAsync(
"https://api.orsunpay.com/v1/payment/payout", content);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
{
"status": true,
"transaction": {
"id": "tx_payout_001",
"orderId": "payout_123",
"status": "PROCESSING",
"action": "PAYOUT",
"amount": 5000,
"currency": "USD",
"createdAt": "2023-12-25T10:00:00.000Z"
}
}
{
"status": false,
"error": "Insufficient balance"
}
{
"status": false,
"error": "KYC verification required"
}
Create Withdrawal Transaction
Creates a new transaction for withdrawing funds to customers. Supports various withdrawal methods including bank transfers, e-wallets, and cryptocurrencies.
curl -X POST "https://api.orsunpay.com/v1/payment/payout" \
-H "x-api-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}'
const response = await fetch("https://api.orsunpay.com/v1/payment/payout", {
method: "POST",
headers: {
"x-api-key": "your-api-key-here",
"Content-Type": "application/json",
},
body: JSON.stringify({
amount: 5000,
currency: "USD",
paymentMethod: "bank_transfer_001",
merchantId: "mr_clyv2goxb0000z8b8j5y6fl1j",
orderId: "payout_123",
buyerId: "customer_123",
successUrl: "https://example.com/success",
failureUrl: "https://example.com/failure",
returnUrl: "https://example.com/return",
callbackUrl: "https://example.com/callback",
customer: {
email: "[email protected]",
firstName: "John",
lastName: "Doe",
},
}),
});
const data = await response.json();
console.log(data);
import requests
import json
response = requests.post(
'https://api.orsunpay.com/v1/payment/payout',
headers={
'x-api-key': 'your-api-key-here',
'Content-Type': 'application/json'
},
json={
'amount': 5000,
'currency': 'USD',
'paymentMethod': 'bank_transfer_001',
'merchantId': 'mr_clyv2goxb0000z8b8j5y6fl1j',
'orderId': 'payout_123',
'buyerId': 'customer_123',
'successUrl': 'https://example.com/success',
'failureUrl': 'https://example.com/failure',
'returnUrl': 'https://example.com/return',
'callbackUrl': 'https://example.com/callback',
'customer': {
'email': '[email protected]',
'firstName': 'John',
'lastName': 'Doe'
}
}
)
print(response.json())
<?php
$data = [
'amount' => 5000,
'currency' => 'USD',
'paymentMethod' => 'bank_transfer_001',
'merchantId' => 'mr_clyv2goxb0000z8b8j5y6fl1j',
'orderId' => 'payout_123',
'buyerId' => 'customer_123',
'successUrl' => 'https://example.com/success',
'failureUrl' => 'https://example.com/failure',
'returnUrl' => 'https://example.com/return',
'callbackUrl' => 'https://example.com/callback',
'customer' => [
'email' => '[email protected]',
'firstName' => 'John',
'lastName' => 'Doe'
]
];
$ch = curl_init('https://api.orsunpay.com/v1/payment/payout');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: your-api-key-here',
'Content-Type: application/json',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
data := map[string]interface{}{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": map[string]string{
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
},
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", "https://api.orsunpay.com/v1/payment/payout", bytes.NewBuffer(jsonData))
req.Header.Set("x-api-key", "your-api-key-here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}
require 'net/http'
require 'json'
uri = URI('https://api.orsunpay.com/v1/payment/payout')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['x-api-key'] = 'your-api-key-here'
request['Content-Type'] = 'application/json'
request.body = {
amount: 5000,
currency: 'USD',
paymentMethod: 'bank_transfer_001',
merchantId: 'mr_clyv2goxb0000z8b8j5y6fl1j',
orderId: 'payout_123',
buyerId: 'customer_123',
successUrl: 'https://example.com/success',
failureUrl: 'https://example.com/failure',
returnUrl: 'https://example.com/return',
callbackUrl: 'https://example.com/callback',
customer: {
email: '[email protected]',
firstName: 'John',
lastName: 'Doe'
}
}.to_json
response = http.request(request)
puts response.body
import java.io.*;
import java.net.http.*;
import java.net.URI;
public class CreateWithdrawal {
public static void main(String[] args) throws Exception {
String json = """
{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.orsunpay.com/v1/payment/payout"))
.header("x-api-key", "your-api-key-here")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
private static readonly HttpClient client = new HttpClient();
static async Task Main()
{
var data = new
{
amount = 5000,
currency = "USD",
paymentMethod = "bank_transfer_001",
merchantId = "mr_clyv2goxb0000z8b8j5y6fl1j",
orderId = "payout_123",
buyerId = "customer_123",
successUrl = "https://example.com/success",
failureUrl = "https://example.com/failure",
returnUrl = "https://example.com/return",
callbackUrl = "https://example.com/callback",
customer = new
{
email = "[email protected]",
firstName = "John",
lastName = "Doe"
}
};
string json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("x-api-key", "your-api-key-here");
HttpResponseMessage response = await client.PostAsync(
"https://api.orsunpay.com/v1/payment/payout", content);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
{
"status": true,
"transaction": {
"id": "tx_payout_001",
"orderId": "payout_123",
"status": "PROCESSING",
"action": "PAYOUT",
"amount": 5000,
"currency": "USD",
"createdAt": "2023-12-25T10:00:00.000Z"
}
}
{
"status": false,
"error": "Insufficient balance"
}
{
"status": false,
"error": "KYC verification required"
}
Overview
The withdrawal endpoint creates a new transaction for withdrawing funds to customers. It supports multiple payout methods including bank transfers, e-wallets, and cryptocurrencies.curl -X POST "https://api.orsunpay.com/v1/payment/payout" \
-H "x-api-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}'
const response = await fetch("https://api.orsunpay.com/v1/payment/payout", {
method: "POST",
headers: {
"x-api-key": "your-api-key-here",
"Content-Type": "application/json",
},
body: JSON.stringify({
amount: 5000,
currency: "USD",
paymentMethod: "bank_transfer_001",
merchantId: "mr_clyv2goxb0000z8b8j5y6fl1j",
orderId: "payout_123",
buyerId: "customer_123",
successUrl: "https://example.com/success",
failureUrl: "https://example.com/failure",
returnUrl: "https://example.com/return",
callbackUrl: "https://example.com/callback",
customer: {
email: "[email protected]",
firstName: "John",
lastName: "Doe",
},
}),
});
const data = await response.json();
console.log(data);
import requests
import json
response = requests.post(
'https://api.orsunpay.com/v1/payment/payout',
headers={
'x-api-key': 'your-api-key-here',
'Content-Type': 'application/json'
},
json={
'amount': 5000,
'currency': 'USD',
'paymentMethod': 'bank_transfer_001',
'merchantId': 'mr_clyv2goxb0000z8b8j5y6fl1j',
'orderId': 'payout_123',
'buyerId': 'customer_123',
'successUrl': 'https://example.com/success',
'failureUrl': 'https://example.com/failure',
'returnUrl': 'https://example.com/return',
'callbackUrl': 'https://example.com/callback',
'customer': {
'email': '[email protected]',
'firstName': 'John',
'lastName': 'Doe'
}
}
)
print(response.json())
<?php
$data = [
'amount' => 5000,
'currency' => 'USD',
'paymentMethod' => 'bank_transfer_001',
'merchantId' => 'mr_clyv2goxb0000z8b8j5y6fl1j',
'orderId' => 'payout_123',
'buyerId' => 'customer_123',
'successUrl' => 'https://example.com/success',
'failureUrl' => 'https://example.com/failure',
'returnUrl' => 'https://example.com/return',
'callbackUrl' => 'https://example.com/callback',
'customer' => [
'email' => '[email protected]',
'firstName' => 'John',
'lastName' => 'Doe'
]
];
$ch = curl_init('https://api.orsunpay.com/v1/payment/payout');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: your-api-key-here',
'Content-Type: application/json',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
data := map[string]interface{}{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": map[string]string{
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
},
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", "https://api.orsunpay.com/v1/payment/payout", bytes.NewBuffer(jsonData))
req.Header.Set("x-api-key", "your-api-key-here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}
require 'net/http'
require 'json'
uri = URI('https://api.orsunpay.com/v1/payment/payout')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['x-api-key'] = 'your-api-key-here'
request['Content-Type'] = 'application/json'
request.body = {
amount: 5000,
currency: 'USD',
paymentMethod: 'bank_transfer_001',
merchantId: 'mr_clyv2goxb0000z8b8j5y6fl1j',
orderId: 'payout_123',
buyerId: 'customer_123',
successUrl: 'https://example.com/success',
failureUrl: 'https://example.com/failure',
returnUrl: 'https://example.com/return',
callbackUrl: 'https://example.com/callback',
customer: {
email: '[email protected]',
firstName: 'John',
lastName: 'Doe'
}
}.to_json
response = http.request(request)
puts response.body
import java.io.*;
import java.net.http.*;
import java.net.URI;
public class CreateWithdrawal {
public static void main(String[] args) throws Exception {
String json = """
{
"amount": 5000,
"currency": "USD",
"paymentMethod": "bank_transfer_001",
"merchantId": "mr_clyv2goxb0000z8b8j5y6fl1j",
"orderId": "payout_123",
"buyerId": "customer_123",
"successUrl": "https://example.com/success",
"failureUrl": "https://example.com/failure",
"returnUrl": "https://example.com/return",
"callbackUrl": "https://example.com/callback",
"customer": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.orsunpay.com/v1/payment/payout"))
.header("x-api-key", "your-api-key-here")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
private static readonly HttpClient client = new HttpClient();
static async Task Main()
{
var data = new
{
amount = 5000,
currency = "USD",
paymentMethod = "bank_transfer_001",
merchantId = "mr_clyv2goxb0000z8b8j5y6fl1j",
orderId = "payout_123",
buyerId = "customer_123",
successUrl = "https://example.com/success",
failureUrl = "https://example.com/failure",
returnUrl = "https://example.com/return",
callbackUrl = "https://example.com/callback",
customer = new
{
email = "[email protected]",
firstName = "John",
lastName = "Doe"
}
};
string json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("x-api-key", "your-api-key-here");
HttpResponseMessage response = await client.PostAsync(
"https://api.orsunpay.com/v1/payment/payout", content);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
{
"status": true,
"transaction": {
"id": "tx_payout_001",
"orderId": "payout_123",
"status": "PROCESSING",
"action": "PAYOUT",
"amount": 5000,
"currency": "USD",
"createdAt": "2023-12-25T10:00:00.000Z"
}
}
{
"status": false,
"error": "Insufficient balance"
}
{
"status": false,
"error": "KYC verification required"
}
Withdrawal Flow
- Verify Balance - Ensure customer has sufficient funds
- Create Withdrawal - Call this endpoint to initiate a payout
- Additional Verification - Some methods may require additional customer verification
- Processing - Withdrawal is processed by the payment provider
- Completion - Funds are transferred to customer’s account
- Webhook Notification - Receive status updates via webhook
Processing Times
| Method | Typical Processing Time |
|---|---|
| Bank Transfer | 1-3 business days |
| E-wallets | Minutes to hours |
| Cryptocurrency | 10-60 minutes |
| International Wire | 3-5 business days |
Common Use Cases
Standard Bank Withdrawal
Most common withdrawal method with standard processing times and KYC requirements.Cryptocurrency Payout
Fast withdrawals for crypto-enabled customers with wallet address verification.E-wallet Transfer
Quick transfers to digital wallets like PayPal, Skrill, or Neteller.Important Considerations
KYC Requirements
- Customer identity verification may be required
- Higher amounts typically require additional documentation
- Some jurisdictions have specific compliance requirements
Daily Limits
- Withdrawal limits may apply per customer
- Limits can be increased with enhanced verification
- Business accounts may have higher limits
Anti-Money Laundering (AML)
- Large transactions may require additional screening
- Suspicious activity may trigger manual review
- Source of funds verification may be required
Authorizations
API key for merchant authorization
Body
Withdrawal transaction details
Withdrawal amount in cents
x >= 15000
Three-letter currency code (ISO 4217)
^[A-Z]{3}$"USD"
Payout method identifier
"bank_transfer_001"
Merchant account identifier
"mr_clyv2goxb0000z8b8j5y6fl1j"
Unique withdrawal identifier in your system
"payout_123"
Customer identifier in your system
"customer_123"
URL to redirect customer after successful withdrawal initiation
"https://example.com/success"
URL to redirect customer after failed withdrawal
"https://example.com/failure"
URL to redirect customer when returning to your site
"https://example.com/return"
Webhook URL for withdrawal status notifications
"https://example.com/callback"
Show child attributes
Show child attributes
Language/locale in BCP 47 format
"en-US"
Additional payout method specific parameters
Additional metadata for the withdrawal
Response
Withdrawal transaction successfully created
Indicates if the request was successful
true
Redirect URL for payment completion (if required)
"https://payment-provider.com/pay/abc123"
Show child attributes
Show child attributes
Error message if the request failed
"Payment method not available"

