This page is part of the REST API Guides. Card capture happens in the frontend through the Payments Library; see the Payments Library Guides.
These requirements apply when using the REST API directly. The Payments Library handles most of these automatically.
3GDirectPay
CompanyIDandServiceTypecredentials are required; the Company Token also selects sandbox vs production.isDigitalsets the service description sent to the processor.- No real-time Void. An authorisation can only be cancelled before its Payment Time Limit lapses, and a paid transaction cannot be cancelled. Refunds are testable in production only.
- 3DS on this gateway works via an external MPI - 3GDirectPay (DPO) does not accept 3DS data submitted through Orchestra’s own 3DS flow.
- A generic
Reason Code 999decline gives no further detail on Orchestra’s side - this needs to be raised with 3GDirectPay/DPO directly.
Adyen
TheShopperInteraction parameter specifies the sales channel and whether the customer is returning.
For POS accounts, set
ShopperInteraction to "Ecommerce".Adyenis the Payment API integration. SeeAdyenCheckoutfor the separate Checkout API integration - they use different credentials and are not interchangeable.
Adyen Checkout (AdyenCheckout)
- This is Adyen’s Checkout API integration, distinct from the plain
Adyen(Payment API) entry above. Check which one your Adyen credentials belong to. - Gateway tokenization is available on this integration only, not on
Adyen. The Adyen stored payment method ID is returned as the gateway token. The token is created under the shopper reference in yourShopperReferencecredential, or yourMerchantAccountvalue when you do not send one. Use the same shopper reference when you charge with that token at Adyen. ShopperInteraction(defaultEcommerce) andRecurringProcessingModel(defaultCardOnFile) may be supplied as credentials.- For gateway tokenization, the zero-amount request uses the currency of the amount you send. A
Currencycredential, if set, overrides it. With neither,EURis used.
Airwallex
OrderDescsets the statement descriptor.- The
CustomerIDcredential is required in order to tokenize.
AMEX
ThemyRef parameter is required and must contain 6 or more characters.
- There is no fixed length for
myRef. Only the first 6 characters are used as the trace number, and those 6 characters cannot be lowercase. - No Charge or Refund operations are supported. Use PreAuth + Capture, and use Void to reverse a transaction.
Authorize.net
TheECCenabled parameter controls refund behavior:
Azul
- A client certificate must be configured on the account.
BAC
TerminalID,UsernameandPasswordcredentials are required (Live also needs the service API URL).- CVV is mandatory (manual-entry mode). Integration documentation is private; you must be a BAC Credomatic bank customer.
Better
- Credentials:
APIKey,PartnerId,MerchantId. OrderDescmay be supplied.- Tokenisation only happens within a Charge/PreAuth. There is no stand-alone Tokenize call.
BML
- Only Charge and Void operations are supported.
- For 3DS via digital wallets (Apple Pay/Google Pay), an ECI value is required; Orchestra uses dummy merchant values for eMPI 3DS unless real merchant data has been configured - set this up if you’re seeing “ECI value must be provided” or similar rejections.
PP-C-004typically indicates a wrong key, wrong host, or a UAT/production credential mismatch, not a card-level decline.- If Apple Pay works but a specific brand (e.g. AMEX) is rejected, check whether your merchant account is enabled for that brand with the processor - this is a merchant-enablement issue, not a Orchestra or wallet issue.
Bold
OrderDescsets the payment description.- No PreAuth / Capture.
- Partial refund is not supported.
Borgun
- The
myRefparameter must be exactly 12 characters, using A-Z and 0-9 only.
BorgunBGateway
- The
myRefparameter must be exactly 12 characters, using A-Z and 0-9 only.
CardNet
- Only Charge and Void operations are supported.
- Partial refund is not supported.
Cardstream
Cardstream uses theOrderDesc parameter to provide additional order description.
- Set
TransactionTypetoMOTOto allow charging without CVV. - Refund is only possible after the transaction has settled (ACCEPTED).
Caterpay
Caterpay uses theOrderDesc parameter to provide additional order description.
- CardStream white-label. Set
TransactionTypetoMOTOto allow charging without CVV.
CCV
- The
Languagecredential must be one ofeng,nld,deu,fra. OrderDescmay be supplied; theAuthExemptioncredential is also available.
Checkout
- Credentials:
SecretKey,PublicKey,URLPrefix(acquirer URL prefix);ProcessingChannelIdis optional. OrderDescmay be supplied.
Credorax
Credorax requires integration certification. Orchestra’s integration is certified with Credorax. Contact support@orchestrasolutions.com if you need certification documentation.OrderDescis sent only when longer than 4 characters.VoidTypemay beAuthVoid(default),CaptureVoidorSaleVoid.
CyberSource
- Orchestra integrates 2 separate CyberSource variants:
CyberSourceandCyberSource3DS, with different credentials - check List All Payment Gateways if unsure which applies to your account. - For Mastercard 3DS, the relevant fields are
ECI,ucafAuthenticationData, anducafCollectionIndicator=2.
Datatrans
- Tokens are created only via a dedicated Tokenize call, not within a Charge/PreAuth.
- Datatrans expects a more complete 3DS field set than the default, plus
Type=Plain- an incomplete 3DS payload results in rejections that look unrelated to 3DS. - An
INVALID_ALIASerror usually means your Datatrans merchant profile is configured for alias/card-on-file only, not raw-card direct charges - contact Datatrans to enable raw-card processing (and external-MPI 3DS, if needed).
DECTA
- Refund is only possible within 30 days of payment; partial refund is not supported.
DLocal
SplitAccounts(marketplace split payments) andNotificationURLmay be supplied.
Eigen
APPID,EPAKeyandNodeIDcredentials are required.
Elavon
Include theRebatePWD (rebate password) in your credentials:
- Refund is allowed up to 115% of the original; the original currency must match.
ElavonConvergePay
- Do not send a currency. The account is single-currency and supplying a currency value will error.
ElavonFusebox
- Credentials:
ClientId,ClientSecret,Chain,Location,Terminal(OAuth). OrderDescmay be supplied.
ePDQ
- The merchant IP must be whitelisted in the ePDQ back-office.
- A sale cannot be voided (refund only), and partial refund is not supported.
eWAY
PayerDetails.ClientIPAddressis required.
FatZebra
UsernameandAPITokencredentials are required.- Payer details are required on Charge/PreAuth.
PayerDetails.ClientIPAddressis sent as the customer IP.
First Data (FirstData)
TheFirstData gateway is a different gateway from First Data IPG. It uses the credentials APIKey, Token and APISecret, and does not use a client certificate.
- Refund re-sends the full card details.
First Data IPG (FirstDataIPG)
TheFirstDataIPG gateway uses the credentials Username and Password. It requires a client certificate, and a client IP address is recommended:
- Client certificate authentication - Upload your certificate through the Orchestra Portal and name it in
certificateName. - Client IP address (recommended) - Provide it in
payerDetails.clientIPAddress. Orchestra sends it to First Data; if it is missing,127.0.0.1is sent instead.
- This gateway is not the same as Payzee.
- Fiserv’s server-to-server IPG sandbox endpoint is
test.ipg-online.com/ipgapi/services. Orchestra does not provide Fiserv sandbox credentials; request them directly from Fiserv.
Gateline
Gateline has the same requirements as First Data IPG:- Client certificate authentication - Upload via portal
- Client IP address - Required in
PayerDetails
- The
myRefparameter must be numeric only.
GlobalPayments
- Credentials (
AppID/AppKey/XGPVersion) are merchant-specific - obtain them from your GlobalPayments merchant setup, not a generic sandbox. - A
101 invalid amounterror from the 3DS/MPI block usually meansservertransid/ds_trans_idwas reused across requests - each authentication attempt needs its own value. The relevant MPI fields areauthentication_value,eci,message_version(2.2.0), andds_trans_id. - Partial capture and partial refund support vary by account configuration - confirm with GlobalPayments if you rely on either.
Global Payments WebPay
ThemyRef parameter must be a 15-digit numeric value.
PayerDetails.Emailis mandatory.- GPWebPay needs its own
orderNumberto identify the payment on the bank statement - this is separate frommyRef, which serves a different purpose and isn’t shown on the statement. - The optional
authResponseCodefield surfaces the real decline reason from GPWebPay, but it’s part of GPWebPay’s signed response - including it affects response signature validation, so it isn’t included by default. - Requires a per-integrator AES key + IV issued by GPWebPay for each environment (test and production have separate keys), plus a
MerchantNumber(your MID).
Heartland
Heartland has two requirements:myRefmust be numeric only (no letters or special characters)- Integration certification required - Orchestra’s integration is certified
- Set
CertiModeto1for certification mode, which then also requires theDeveloperIDandVersionNumbercredentials.
Ingenico
SkipAuthenticationmay be supplied.- Refund is only possible after the transaction is COMPLETED.
Kortapay
Void and Refund operations on Kortapay need the amount of the original transaction. Add it to your credentials asOriginalAmount. Because the value changes with every transaction, pass the credentials in the request rather than using a stored gateway account:
myRefhas a maximum of 15 characters.- Partial refund is not supported.
LianLianPay
- Product credentials are required:
ProductID,ProductName,ProductSKU,ProductURL,ProductShippingProvider(plus optional shipping fields). - No PreAuth / Capture.
MaksuPay
- Credentials:
MerchantId,PrivateKey,PublicKeyHash. OrderDescmay be supplied.
Monek
- Credentials
MerchantIDandAPIKeyare required. Merchants who used Monek’s older Secure Hosting platform need this new pair from Monek; the old credentials alone are not enough. - Void works on the same day only. After that, use Refund.
Moneris
- The
ProcessingCountrycredential is required. - Void is only possible after completion.
MyPOS
- Credentials include
PrivateKeyandPublicKey(used to sign requests and encrypt card / CVV data), plusSID,WalletNumber,KeyIndex,IPCVersion,Language. isDigitalsets the cart item description.
NETS
- A Sale can only be refunded (not voided); only an Auth can be voided.
Network.ae
APIKeyandOutletReferencecredentials are required.
NEXI
OrderDescmay be supplied.- Apple Pay payments with American Express cards are not accepted through NEXI. Visa and Mastercard work.
- PreAuth settles instead of just holding if Nexi-specific fields (
parametriAggiuntivi/TCONTAB) aren’t set correctly for a hold - verify these before relying on PreAuth-then-Capture behavior. - With
generateToken: true, the token NEXI returns is passed back to you in thegatewayTokenresponse field. See Gateway Tokenization. - Nexi’s MOTO endpoint is used only when the card is submitted without a 3DS result - if you’re sending 3DS data, a different endpoint path applies internally.
NMI
- Authenticate with either an
APIKeycredential, orUsername+Password. NMI is deprecating username/password authentication in favor ofAPIKeyby December 2026 - migrate before then. - NMI rejects near-duplicate transactions within a short time window (Error 300) even with a unique
myRef- NMI’s own duplicate-transaction control keys off other fields, notmyRef(which NMI receives asorderid).
NomuPay
- The
Regioncredential is required;AuthorizationTypeandCaptureTypecredentials are also available. - Tokenisation is not available in Turkey.
OpenPay
MerchantIDandPrivateKeycredentials are required.- The cardholder device IP is forwarded as
X-Forwarded-For(required by Mexican anti-fraud rules). OrderDescsets the payment description.- Void is processed as a Refund and works cleanly with MXN.
PayArc
OrderDescmust be under 25 characters; address fields must be at least 5 characters.
PayDollar
- Credentials:
MerchantId,LoginId,Password,SecureHashSecretKey(AsiaPay secure-hash signing).
PayGate
Your PayGate merchant account must have the “auto-settle” flag set to “off”. Configure this in your PayGate merchant dashboard before integrating.- The payer country must be a 3-letter code.
PayPalPaymentsPro
- Credentials:
Username,Password,Vendor,Partner(PayPal Payflow Pro). - The billing country must be a 3-digit numeric country code; cardholder IP is forwarded when present.
- For a full refund omit the amount. Distinct from PayPalWebsitePaymentsPro.
- Orchestra integrates 3 separate PayPal variants:
PayPal,PayPalPaymentsPro(this entry, Payflow Pro), andPayPalWebsitePaymentsPro(NVP DoDirectPayment) below. Check List All Payment Gateways if unsure which your credentials match. Credentials for all three come from the PayPal Developer Dashboard.
PayPalWebsitePaymentsPro
- Credentials:
Username,Password,Signature,Version(PayPal NVP DoDirectPayment). - US / UK / CA only. For a full refund omit the amount. Distinct from PayPalPaymentsPro (Payflow Pro).
Payplug
OrderDescmay be supplied.- Do not send a currency. The account is single-currency.
- A
GatewayResultCodeof1003(“received HASH doesn’t match”) is Payplug/Dalenys’s own error code, unrelated to Orchestra’s-1003- it almost always means a credentials problem. The Dalenys test environment issecure-test.dalenys.com.
Paystack
- Capture / Void are not supported.
- In a Payments Library card session, Paystack opens its own authentication page for the payer.
Paystation
OrderDescmay be supplied.- No Void.
PayULatam
OrderDescmay be supplied.- The
Countrycredential drives behaviour. - In Panama only Charge is supported (no PreAuth/Capture).
PayWay
- Australia and AUD only. Visa, Mastercard, American Express and JCB.
- Credentials:
SecretAPIKey,PublishableAPIKey,MerchantID.ClassicUsernameandClassicPasswordare reserved for 3D Secure and are not used today. - 3D Secure is not currently available on this gateway. Tokens carrying 3DS data are charged without it.
PayZen
- The
CaptureDelayDayscredential sets the capture delay at authorization (0 = same-night); there is no separate Capture call. - A Void must be issued before the capture date arrives - once PayZen’s nightly batch has captured the funds, use Refund instead.
- Refunds need roughly a 24-hour backoff after the nightly capture batch runs before they’ll succeed; an immediate refund attempt fails with
PSP_101.
Payzone
Payzone needsOrderDesc and the payer’s email on every request, and a payer identifier on every Charge and PreAuth. Store the identifier in the CustomerID credential. Because Orchestra requests carry no free-form parameters, pass the credentials in the request when the identifier differs per payer. countryCode must be set correctly or the charge fails.
- Capture, Void and Refund do not use
CustomerID. No authorization code is returned. - Sandbox/test transactions require CVV
000exactly. - Result codes:
199= declined for a request-level issue (for example missing CVV or invalidcountryCode).521or524with gateway statusCHARGE_PENDING= Payzone requires 3D Secure, and the result is reported as Rejected. Either send 3D Secure data with the charge, or ask Payzone to accept charges without 3D Secure on your merchant account (no liability shift).
PCIBookingEU
- The
Regioncredential is required.
PCIBookingUSA
OrderDesc,CaptureSeq+CaptureTotal(partial capture) may be supplied.SendReceipt(Yes/No) may be supplied.
Pelecard
- Gateway tokenization is not supported. To charge a stored card, use an Orchestra token (see Tokenization).
- Instalments and credit payments cannot be requested. Every transaction is sent as a single payment.
- A PreAuth cannot be voided online. A VoidPreAuth request is rejected by the gateway, and the hold is left to expire.
Pesopay
Pesopay has two requirements:myRefmust be unique on every submission- Void operations must use the
GatewayReferencefrom the PreAuth response, not Capture
PomeloPay
- Only Charge and Void operations are supported.
- For 3DS via digital wallets (Apple Pay/Google Pay), an ECI value is required; Orchestra uses dummy merchant values for eMPI 3DS unless real merchant data has been configured - set this up if you’re seeing “ECI value must be provided” or similar rejections.
PP-C-004typically indicates a wrong key, wrong host, or a UAT/production credential mismatch, not a card-level decline.- If Apple Pay works but a specific brand (e.g. AMEX) is rejected, check whether your merchant account is enabled for that brand with the processor - this is a merchant-enablement issue, not a Orchestra or wallet issue.
PXP
MerchantID,StoreID,UserIDandPasswordcredentials are required.VoidTypemay bereversalSaleorreversalPreAuthorization(defaults to pre-auth reversal).- An
amountis required on every operation, including Void / Capture / Refund.
Quickpay
- The
APIKeycredential is required. - Card tokenisation is rejected for EEA cards.
RapydCardPayments
AccessKeyandSecretKeycredentials (HMAC request signing) are required.- The card brand is currently sent as Visa regardless of the actual card. Confirm with support before use.
Ryft
OrderDescsets the statement descriptor.
SaferPay
OrderDesc(payer note) may be supplied.- Merchant IP allow-listing is required.
- Send
PayerDetailswith the cardholder’s IPv4 address inClientIPAddresson every Charge and PreAuth.
SagePay
- US / CA / GB only.
Shift4
ThemyRef parameter must be numeric (10 digits).
Credentials
Obtaining the Access Token
Shift4 does not issue the Access Token directly, and you cannot generate it yourself. It is produced by exchanging an Auth Token, which belongs to your merchant account, with a Client GUID, which identifies the certified integration. Orchestra holds the Client GUID and performs the exchange for you.1
Create an Auth Token in Lighthouse Transaction Manager
Your Lighthouse Transaction Manager Account Administrator signs in and goes to Settings > API Settings > Add API. Choose the longest validity offered and copy the Auth Token.
2
Send the Auth Token to Orchestra
Email it to support@orchestrasolutions.com, stating that it is for your Shift4 gateway on Orchestra.
3
Receive your Access Token
Orchestra exchanges the Auth Token for an Access Token and sends the Access Token back to you.
4
Store it as your gateway credential
Save the Access Token as your
AccessToken credential (see Payment Gateway Accounts), then use it in your payment requests like any other stored credential.The resulting Access Token does not expire. One Access Token covers all of your Orchestra activity on that merchant account, so this is a one-time setup. Repeat it only if you regenerate your Shift4 API credentials.
Do not ask Shift4 for the Client GUID. It identifies the integration rather than your account, it is the same for every merchant, and Shift4 will not issue it to you. For sandbox testing, contact support@orchestrasolutions.com before creating an Auth Token, since Shift4 does not normally issue test merchant accounts to individual merchants.
Shift4Clone
- The
myRefparameter must be numeric (10 digits). - Credentials and Access Token setup are the same as Shift4 above, with additional 3DS passthrough fields.
SiamPay
- An Auth cannot be voided (charges only); Refund is only possible after settlement (~1 day).
SLIM CD (SlimCD)
Test and live use the same SLIM CD host, so the environment is set by your SLIM CD account, not by the request mode. A live SLIM CD account processes real transactions even when the request is sent in test mode.- Void requires the amount, and it must match the original transaction amount. Void is only possible before the batch closes (usually end of day); after that, use Refund.
- Reusing the same merchant reference with the same amount is rejected as a duplicate. Send a unique reference for each transaction.
Straumur
- Virtual cards (VCC) should have 3DS skipped for the charge - Straumur’s own guidance is that 3DS is not expected/required on a VCC transaction.
- A
RedirectShopperstatus means the operation requires the cardholder to complete an additional step (e.g. 3DS challenge) before it can complete. - Tokens stored without a CVV are rejected by Straumur if it requires CVV for the operation - make sure the token has a CVV before charging.
Stripe
- Void is performed as a full Refund.
- On-platform 3DS via Orchestra is not the same as Stripe’s own direct 3DS - if you need Stripe’s native 3DS flow, that’s a separate integration path; check with Stripe which applies to your setup.
- Stripe requires you to explicitly enable “processing raw cardholder data from a PCI-DSS-compliant third party” on your Stripe account before charges will succeed - without this, requests can fail with confusing errors unrelated to your actual request (e.g. “Sequence contains more than one element”). Ask Stripe support to enable it, referencing Orchestra’s AoC if needed.
- Only
APIKeyis required. Other fields are optional:HotelID/SiteName/ReservationID(metadata only),ConnectedAccount/ConnectionType/ApplicationFeeAmount(Stripe Connect only),SetupFutureUsage,ExtendedAuth,PaymentIntentID,AutomaticRedirect. - Leave
IdempotencyKeyblank - Orchestra auto-generates one. Omitting it (rather than reusing a stale value) is what avoids intermittent “account not eligible for requested card features”-style failures that clear on retry.
StripeConnect
ConnectedAccount,ApplicationFeeAmount(platform fee), andHotelID/SiteName/ReservationID(metadata) may be supplied.- Void is performed as a full Refund.
Stripe (PaymentIntent)
3D Secure Support
To enable 3DS transactions, contact Stripe and request enabling thepayment_method_options.card.request_three_d_secure option on your account.
Subscriptions
Use theSetupFutureUsage parameter to enable Stripe Subscriptions:
ApplicationFeeAmountlets your platform take an application fee on direct charges. Provide it in the credentials together withConnectedAccount, and include aConnectionTypeofstandardconnectorconnect.- A captured charge cannot be voided.
StripeStandardConnect
OrderDescmay be supplied.ConnectedAccountandApplicationFeeAmountmay be supplied.
SumUp
APIKeymust be a SumUp secret API key. A public key (startingsup_pk_) is rejected with401 Unauthorized.- Charge only. PreAuth and Capture are not supported.
- 3D Secure is performed by SumUp through its own redirect flow. 3DS data from an external MPI is not accepted, and a Charge with a 3DS-enrolled card outside the redirect flow is rejected with
3DS_REQUIRED. - Void is only possible before card details have been submitted to the checkout. Once a payment has been attempted, use Refund.
TotalProcessing
- Authorization Code is only returned on live captures (not on PreAuth or test).
Trust
- Tokenize is performed as an ACCOUNTCHECK (zero-amount) request.
TokenCurrencysets the tokenize currency (default GBP).
Tyro
MerchantIDandAPIPasswordcredentials (Mastercard MPGS platform) are required.myRefis used as the order id, transaction id and reference. It must be unique and URL-safe per transaction.
USAePay
- Credentials:
SourceKey,PIN,EndpointID. OrderDescmay be supplied.
Valitor
ServiceTypemay be ONLINEPAYMENT, TELEPHONEPAYMENT or MAILORDER (MOTO modes suppress CVV).- Refunds are not allowed on debit cards.
ValitorPay
- Tokenisation creates a virtual card.
MCCCode(a travel/hotel MCC switches to PreAuthorization),TransactionType, andDefaultClearingDays/DefaultClearingActionmay be supplied.
Verifone
PayerDetailsfirst and last name are required.TokenScopemay be supplied (for tokenize).- Missing cardholder name data (
FirstName/LastNameinPayerDetails) is a common cause of otherwise-unexplained declines on this gateway.
VersioPay
- The
Cryptocredential (account secret) is required.
Viva
GroupIdcan be set on Tokenize.- Separate token-client credentials (
TokenClientId,TokenClientSecret) are used for tokenize / refund / void.
Windcave
EnableAddBillCardmay be supplied.
Wirecard
Wirecard uses theOrderDesc parameter to provide additional order description.
- The field is optional for Charge and PreAuth operations.
Worldline TravelHub
OrderDescmay be supplied.- When you charge an Apple Pay token, keep
ThreeDSset totrue(the default).
Worldpay
Worldpay has two requirements:IsDigitalparameter - Required, defaults totrue- Integration certification required - Orchestra’s integration is certified
WorldPayOnline
- The
ServiceKeycredential is used as the authorization header. isDigitaloverwrites the order description (the gateway has no free-text descriptor); amounts are in the smallest currency unit.
WorldPayVantiv
- Only the first 6 characters of
myRefare used (ticket number).
WorldPayWPG
OrderDescmay be supplied.- Whitelist Orchestra’s outbound IPs in your Worldpay account - a missing whitelist entry commonly surfaces as a generic
TemporaryFailure/“Object reference not set” error rather than an obvious auth failure. See Outbound IP Addresses. - Worldpay’s older BG350 connection is being decommissioned by Worldpay - if your account still uses it, a migration to a current connection type is needed; contact support to check which rail your account uses.
WSPay
- One account does either Charge or PreAuth→Capture, not both.
Xendit
- The
Countrycredential (2-letter, default PH) may be supplied.
Zeamster
Zeamster uses theOrderDesc parameter to provide additional order description.
Zoop
Zoop supports splitting a payment into installments (micro credit). To use it, addNoOfInstallments (1 to 12) to your credentials. Pass it in the request to choose the number per payment, or store it on the gateway account if every payment uses the same number:
ZoozPaymentsOS
AppID,PublicKey,PrivateKeyandAPIVersioncredentials are required.- Amounts are in the smallest currency unit.
Related
Payment Operations
Full endpoint documentation
Payment Gateway Accounts
Configure gateway credentials