Documentation Index Fetch the complete documentation index at: https://developers.orchestrasolutions.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites: API key and Payment Gateway Account configured.
The charge operation captures funds from a card immediately. Use this for standard purchases where you’re ready to fulfill the order.
Some payment processors require additional parameters. See the Additional Guidance section for processor-specific requirements.
Basic Charge
const response = await fetch ( 'https://api.orchestrasolutions.com/PaymentGateway/charge' , {
method: 'POST' ,
headers: {
'Content-Type' : 'application/json' ,
'X-Api-Key' : 'YOUR_API_KEY'
},
body: JSON . stringify ({
amount: 25.00 ,
currency: 'USD' ,
paymentGatewayAccountName: 'stripe-production' ,
card: {
cardNumber: '4111111111111111' ,
cardHolderName: 'Jane Smith' ,
expirationMonth: 12 ,
expirationYear: 2027 ,
cvv: '123'
}
})
});
const result = await response . json ();
API Reference Complete parameter reference, response fields, and validation rules
To use a tokenized card number, prefix the token with @ in the cardNumber field: "cardNumber": "@your-token-id". See Tokenization .
Using a Stored Token
If you’ve tokenized a card number with StringTokens , reference it in the cardNumber field with an @ prefix:
const response = await fetch ( 'https://api.orchestrasolutions.com/PaymentGateway/charge' , {
method: 'POST' ,
headers: {
'Content-Type' : 'application/json' ,
'X-Api-Key' : 'YOUR_API_KEY'
},
body: JSON . stringify ({
amount: 25.00 ,
currency: 'USD' ,
paymentGatewayAccountName: 'stripe-production' ,
card: {
cardNumber: '@nQGywsQE9gbURtrXEjTZwtWqeMdK9nsO' , // Token with @ prefix
cardHolderName: 'Jane Smith' ,
expirationMonth: 12 ,
expirationYear: 2027 ,
cvv: '123'
}
})
});
Using Inline Credentials
Instead of a stored Payment Gateway Account, you can provide credentials inline:
const response = await fetch ( 'https://api.orchestrasolutions.com/PaymentGateway/charge' , {
method: 'POST' ,
headers: {
'Content-Type' : 'application/json' ,
'X-Api-Key' : 'YOUR_API_KEY'
},
body: JSON . stringify ({
amount: 25.00 ,
currency: 'USD' ,
paymentGatewayAccount: {
paymentGatewayName: 'Stripe' ,
credentials: [
{ Key: 'SecretKey' , Value: 'sk_live_...' }
]
},
card: {
cardNumber: '4111111111111111' ,
cardHolderName: 'Jane Smith' ,
expirationMonth: 12 ,
expirationYear: 2027 ,
cvv: '123'
}
})
});
Charge vs Authorize
Operation When to Use Charge Immediate fulfillment, digital goods, services Authorize Delayed fulfillment, physical goods, variable amounts
If you need to hold funds without capturing immediately, use Authorize & Capture instead.
Refunds & Voids Reverse or cancel this charge
Authorize & Capture Hold funds and capture later
Tokenization Store card numbers securely