Skip to main content

Base composition fields shared between payment and payout operations.

operationType
enum<string>
required

Operation Type that was executed in the Provider.

Available options:
Authorize,
Preauthorize,
Capture,
Cancel,
Refund,
Credit,
SendNotification,
CaptureNotification,
RefundNotification,
CancelNotification,
AuthorizeNotification,
ChargebackNotification,
ChargebackReverseNotification,
IssuerCommentsNotification,
AcceptDispute,
DefendDispute,
SubmitEvidence,
PullDispute,
Get,
Search,
GetToken,
Tokenize,
DisableToken,
Register,
Generate3DS,
Validate3DS,
PayerAuthInit,
PayerAuthCheckEnroll,
PayerAuthValidate,
RefundFailedNotification,
RefundReversedNotification,
CaptureFailedNotification,
ValidateRedirect,
RefundNotificationUpdated
integrationType
enum<string>
required

Code of the integration type for using the payment method in the provider.

Available options:
api,
hpp,
inperson
amount
object
required

The amount used to execute the operation.

success
boolean
required

Operation outcome. If true, then the operation was finished successfully, and false otherwise.

paymentMethodCode
enum<string>

Code of the payment method selected to perform the payment.

Available options:
alexBankMa7fazty,
amazonPay,
applePay,
audi2pay,
alfa,
alipay,
bankTransfer,
card,
2c2p,
capitecPay,
cibSmartWallet,
easypaisa,
etisalatCash,
fawryMobileWallet,
fawryPay,
googlePay,
jazzCash,
mercadoPago,
monoDirectDebit,
nbePhoneCash,
orangeCash,
oPayWallet,
pagaWallet,
payflex,
payjustnow,
payPal,
pix,
konnect,
qnbEWallet,
wafaCashWallet,
weCash,
genericRedirect,
eftPro,
upi,
upiDirect,
cashFreeWallet,
paytmMWallet,
netBanking,
meezaWallet,
vodafoneCash,
alipayQRCode,
sepaDirectDebit,
sepaDirectDebitDirect,
dcb,
bankAccount,
modo,
ach,
payzoneCash,
revolutPay,
lean,
tabby,
boleto,
oxxo,
spei,
promptPay,
qris,
momoVN,
vietQR,
konbini,
touchNGo,
gCash,
maya,
pse,
pagoEfectivo,
napas,
duitNowQR,
grabPay,
shopeePay,
nequi,
picPay,
ovo,
trueMoney,
iDeal,
iDealDirect,
bancontact,
mbWay,
mbWayDirect,
khipu,
razerGold,
webPay,
smartPix,
venmo,
klarnaPayLater,
klarnaPayNow,
klarnaPayOverTime,
knet,
scalapay,
bizum,
payNow,
atome,
fpx,
swish,
bcp,
kiosk,
sbp,
wero
paymentInstrumentId
string<uuid>

Unique identifier of the Payment Instrument that the customer selected for the Payment.

storeInstrument
boolean

Holder intention to store the payment instrument on payout.

operationResult
enum<string>

Result of the Operation according to Payrails mapping from the provider response.

Available options:
Success,
Accepted,
Pending,
HTTPRedirectRequired,
FormRedirectRequired,
Unknown,
UnexpectedProviderResponse,
ProviderUnknownError,
ProviderConnectionError,
Timeout,
ProviderTimeout,
GenericRejection,
FraudRisk,
DuplicateOperation,
OperationNotAllowed,
InstrumentNotAllowed,
InvalidInstrument,
InsufficientBalance,
BlockedInstrument,
ExpiredInstrument,
ValidationError,
ParamsError,
ProviderConfigError,
InvalidSignature,
InternalServerError,
PayerCanceled,
AuthenticationError,
AuthenticationRequired,
LimitExceeded,
PaymentMethodNotSupported,
AuthorizationRevoked
providerId
string<uuid>

Unique identifier of the provider used to execute the operation.

provider
object

Provider used to execute the operation.

providerConfigId
string<uuid>

Unique identifier of the provider configuration used to execute the operation.

operationProviderReference
string

Reference of the operation in the provider's system.

errors
object[]

The reason why the operation was not successful, set if success = false.

accountFundingTransaction
boolean

Indicates whether the payment was an Account Funding Transaction. For example, loading a prepaid card, topping up a wallet, or funding a person-to-person (P2P) money transfer.

authorizationCode
string

The acquirer authorization code if the payment was authorized.

acquirerMID
string

Merchant Identifier (MID) on the acquirer that processed the payment.

acquirerAccountCode
string

Account Code on the acquirer that processed the payment.

acquirerCountryCode
string

Country Code on the acquirer that processed the payment.

avsResultCode
string

Address Verification Service (AVS) check result, normalized to the card-network single-letter convention. Set only when the provider reports the check, and carried on subsequent operations (capture, cancel, refund) of the same payment. More values may be added as more providers report this check.

  • Y: address and postal code both match.
  • A: address matches, postal code does not.
  • Z: postal code matches, address does not.
  • N: neither address nor postal code match.
  • U: the issuer could not perform the check.
cvvResultCode
string

Card security code (CVV/CVC) check result, normalized to the card-network single-letter convention. Set only when the provider reports the check, and carried on subsequent operations (capture, cancel, refund) of the same payment. More values may be added as more providers report this check.

  • M: security code matched.
  • N: security code did not match.
  • U: the issuer could not perform the check.
  • P: the check was expected but not processed.
acquirerReference
string

Acquirer Reference Number (ARN) assigned to the payment by the issuer.

providerReference
string

Unique identifier of the Payment in an external system, e.g. PSP.

retrievalReference
string

Retrieval Reference Number (RRN) assigned to the payment by the issuer.

paymentInstrument
object

Payment Instrument and tokens used to execute the authorize operation.

providerResponseAdditionalFields
object

Any provider-specific response data requested by merchant on authorize.

operationResultProviderDetails
object

Specific details of the provider response that mapped to the specific Payrails result.

providerConfig
object

Provider configuration details associated with this operation.

dispute
object

Dispute related to the Workflow execution.

retries
object

Information about an action retry. Present if the action failed, and a retry is scheduled.

captureMode
enum<string>

Capture mode used for the payment operation.

Available options:
Instant,
Manual,
Delayed
paymentId
string<uuid>

Unique identifier of the Payment affected during execution of the operation.

reason
enum<string>

Reason for invoking the operation or action. Omit it if there is no reason. CustomerDontNeed is deprecated, use CustomerDoesNotNeed instead. With Other, reasonDescription is required for refunds: at least 3 characters after trimming. On refunds, reasonDescription is at most 255 characters for any reason.

Available options:
BetterPrice,
CustomerDoesNotNeed,
CustomerDontNeed,
DamagedProduct,
Duplicate,
FraudulentProduct,
LateDelivery,
Other,
ProductMismatchDescription,
WrongProduct,
WrongProductSpecification
reasonDescription
string

Reason description specified when the operation was initiated.

Example:

"Customer's order expired."

Last modified on October 20, 2026