PayFacto API - v2.0 - Response Parameters

PayFacto API - v2.0 - Response Parameters

PayFacto API - v2.0 - Response Parameters

Complete reference for all response fields returned by the PayFacto Payment API v2.0. Fields are organised by object. Fields marked with are always present in the response. All others are conditional.

ℹ️

All responses are JSON with Content-Type: application/json. Monetary amounts are returned as positive integers in cents — $12.99 is returned as 1299. Unique identifiers are UUIDs. Timestamps use ISO 8601 format.

💳

Charge Response

Returned by POST /charges, GET /charges/{{chargeId}}, and GET /charges. Represents a payment transaction object.

Field Type Example Description
idstring (UUID)a1822999-…Unique charge identifier. Use for all subsequent operations (capture, void, refund, increment, release).
statusstring · enumCAPTUREDCurrent charge status. Values: AUTHORIZED | CAPTURED | VOIDED | RELEASED | DECLINED | FAILED.
amountinteger (int64)1299Original requested charge amount in cents.
capturedAmountinteger (int64)1299Total amount captured in cents. May differ from amount if a partial capture was performed.
refundedAmountinteger (int64)0Total amount refunded in cents across all refunds on this charge.
currencystring · ISO 4217CADThree-letter currency code for the transaction.
invoiceNumberstringINV-001Merchant invoice reference number, as submitted in the request.
capturebooleantrueWhether the charge was set to capture immediately.
statementDescriptorstringDescriptor shown on the cardholder statement.
authorizationCodestringA12345Issuer authorization code. Present on approved transactions.
responseCodestring0000 = approved. ISO 8583 response code from the issuer.
responseMessagestringAPPROVEDHuman-readable issuer response message.
paymentMethodobject → paymentMethodPayment method details. See paymentMethod section below.
billingDetailobject → billingDetailCustomer billing information as submitted.
shippingDetailobject → shippingDetailShipping recipient details as submitted.
metadataobjectKey-value pairs stored with the charge, as submitted.
refundsarray → RefundArray of refund objects. Empty array if no refunds have been issued.
createdAtstring (ISO 8601)2026-06-08T14:32:00ZTimestamp when the charge was created.
updatedAtstring (ISO 8601)2026-06-08T14:32:05ZTimestamp of the most recent update to the charge.
capturedAtstring (ISO 8601)Timestamp when the charge was captured. Absent if not yet captured.

Refund Response

Returned by POST /refunds and GET /refunds/{{refundId}}. Represents a refund transaction object.

Field Type Example Description
idstring (UUID)b2933108-…Unique refund identifier.
statusstring · enumSUCCEEDEDRefund status. Values: PENDING | SUCCEEDED | FAILED | VOIDED.
chargeIdstring (UUID)a1822999-…ID of the charge this refund was issued against.
amountinteger (int64)1299Refunded amount in cents.
currencystring · ISO 4217CADThree-letter currency code.
reasonstring · enumREQUESTED_BY_CUSTOMERRefund reason. Values: DUPLICATE | FRAUDULENT | REQUESTED_BY_CUSTOMER | REQUESTED_BY_MERCHANT.
responseCodestring00ISO 8583 response code from the issuer.
responseMessagestringAPPROVEDHuman-readable issuer response message.
paymentMethodobject → paymentMethodPayment method used for the refund. Present for some terminal refund flows.
metadataobjectKey-value pairs stored with the refund.
createdAtstring (ISO 8601)2026-06-08T15:00:00ZTimestamp when the refund was created.
updatedAtstring (ISO 8601)Timestamp of the most recent update.
🔒

Verification Response

Returned by POST /verifications. No funds are collected — reflects card validation results only.

Field Type Example Description
idstring (UUID)c3044217-…Unique verification identifier.
statusstring · enumSUCCEEDEDVerification outcome. Values: SUCCEEDED | FAILED.
responseCodestring00ISO 8583 response code from the issuer.
responseMessagestringAPPROVEDHuman-readable issuer response message.
cardobject → cardMasked card details and AVS/CVV results. See card section below.
billingDetailobject → billingDetailBilling address as submitted.
metadataobjectKey-value pairs stored with the verification.
createdAtstring (ISO 8601)2026-06-08T14:30:00ZTimestamp when the verification was created.
📳

paymentMethod (response)

Nested as paymentMethod in charge and refund responses. The type field determines which sub-object is populated.

Field Type Example Description
typestring · enumCARDPayment method type. Values: CARD | TERMINAL | PAYMENT_TOKEN | CASH.
cardobject → cardPresent when type is CARD or TERMINAL. Contains masked card details.
terminalobject → terminalPresent when type is TERMINAL. Contains terminal response details.
paymentTokenobject → paymentTokenPresent when type is PAYMENT_TOKEN.
💳

card (response)

Nested as paymentMethod.card in responses. The full PAN is never returned — only masked and derived fields.

Field Type Example Description
brandstring · enumVISACard network. Values: VISA | MASTERCARD | AMEX | DISCOVER | INTERAC | UNIONPAY | UNKNOWN.
lastFourstring · 4 chars1111Last four digits of the card number.
maskedPanstring411111******1111Masked card number. All digits except the first six and last four are replaced with asterisks.
binstring · 6 chars411111Bank Identification Number (first 6 digits).
cardTypestring · enumCREDITCard funding type. Values: CREDIT | DEBIT | PREPAID | UNKNOWN.
issuerCountrystring · ISO 3166CATwo-letter country code of the card-issuing bank.
expiryobject → cardExpiryCard expiry month and year as submitted. Present when a card number was provided.
avsResultobject → avsResultAddress Verification System result. See avsResult section below.
cvvResultobject → cvvResultCVV/CVC verification result. See cvvResult section below.
authenticationobject → authentication3DS or wallet authentication response data. See authentication section below.
tokenstring5k46v51j…SHC-generated payment token. Can be used in subsequent PAYMENT_TOKEN charges.
🔍

avsResult / cvvResult

Nested within card in charge and verification responses. Reflect the issuer's address and CVV check outcomes.

avsResult object

Field Type Example Description
codestringYRaw AVS response code from the issuer (e.g. Y, P, N, U).
streetMatchstring · enumMATCHStreet number match. Values: MATCH | NO_MATCH | NOT_CHECKED | UNAVAILABLE.
postalMatchstring · enumMATCHPostal/ZIP code match. Values: MATCH | NO_MATCH | NOT_CHECKED | UNAVAILABLE.

cvvResult object

Field Type Example Description
codestringMRaw CVV response code returned by the issuer.
resultstring · enumMATCHCVV verification outcome. Values: MATCH | NO_MATCH | NOT_PROCESSED | NOT_PROVIDED | UNAVAILABLE.
🔐

authentication / wallet / threeDomainSecure (response)

Nested as paymentMethod.card.authentication in responses. Present when Apple Pay, Google Pay, or 3DS was used.

authentication object

Field Type Example Description
walletobject → walletPresent when Apple Pay or Google Pay was used.
threeDomainSecureobject → threeDomainSecurePresent when a 3DS flow was used.

wallet object

Field Type Example Description
typestring · enumAPPLE_PAYWallet type. Values: APPLE_PAY | GOOGLE_PAY.
eciIndicatorstring05Electronic Commerce Indicator returned by the wallet provider or echoed from the request.

threeDomainSecure object

Field Type Example Description
authenticationValuestringAJkBBklm…3DS authentication value (CAVV/AAV) echoed from the request.
directoryServerTransactionIdstring (UUID)f38e6948-…Directory server transaction ID echoed from the request.
eciIndicatorstring05ECI indicator. 05 = fully authenticated, 06 = attempted, 07 = not authenticated.
versionstring2.1.03DS protocol version echoed from the request.
statusstring · enumAUTHENTICATED3DS authentication outcome. Values: AUTHENTICATED | ATTEMPTED | NOT_AUTHENTICATED.
📳

terminal (response)

Nested as paymentMethod.terminal when paymentMethod.type is TERMINAL.

Field Type Example Description
terminalIdstring (UUID)3a2049fb-…Unique terminal identifier echoed from the request.
clerkIdstring · max 8 chars001Clerk or cashier identifier echoed from the request.
tipinteger (int64)100Tip amount in cents as entered by the cardholder on the terminal.
cashbackinteger (int64)2000Cashback amount in cents as entered by the cardholder on the terminal.
surchargeinteger (int64)Surcharge amount in cents applied by the terminal.
accountTypestringCHEQUINGAccount type selected by the cardholder.
entryModestring · enumCHIPCard entry method. Values: CHIP | CONTACTLESS | SWIPE | KEYED | FALLBACK.
cardBrandstringCard brand as reported by the terminal.
cardTypestringCard funding type as reported by the terminal.
lastFourstringLast four digits of the card as reported by the terminal.
maskedPanstringMasked card number as reported by the terminal.
emvRawResponsestringRaw EMV response data returned by the terminal chip. Provided for advanced reconciliation.
🏠

billingDetail / shippingDetail / address (response)

Optional objects nested in charge and verification responses. All fields are echoed from the request.

billingDetail object

Field Type Example Description
firstNamestringJohnCardholder first name as submitted.
lastNamestringSmithCardholder last name as submitted.
emailstringjohn@example.comCardholder email as submitted.
phonestring5551234567Cardholder phone as submitted.
addressobject → addressBilling address. See address object below.

shippingDetail object

Field Type Example Description
firstNamestringJohnRecipient first name as submitted.
lastNamestringSmithRecipient last name as submitted.
emailstringjohn@example.comRecipient email as submitted.
phonestring5551234567Recipient phone as submitted.
trackingNumberstring1Z999AA1…Shipping carrier tracking number as submitted.
addressobject → addressShipping address. See address object below.

address object

Field Type Example Description
line1string56 Sparks StStreet address line 1.
line2stringSuite 100Street address line 2. Optional.
citystringOttawaCity name.
statestringOntarioProvince or state name.
postalCodestringK5A 1S4Postal or ZIP code.
countrystring · ISO 3166CACountry code. CA = Canada, US = United States.
⚙️

Operation Responses

Response bodies returned by charge and refund management operations on existing transactions.

capture — POST /charges/{chargeId}/captures

Field Type Example Description
idstring (UUID)d4155326-…Unique capture operation identifier.
chargeIdstring (UUID)a1822999-…ID of the charge that was captured.
amountinteger (int64)1299Amount captured in cents.
statusstring · enumSUCCEEDEDCapture result. Values: SUCCEEDED | FAILED.
statementDescriptorstringStatement descriptor used for this capture, if overridden.
createdAtstring (ISO 8601)Timestamp when the capture was processed.

increment — POST /charges/{chargeId}/increments

Field Type Example Description
idstring (UUID)e5266437-…Unique increment operation identifier.
chargeIdstring (UUID)a1822999-…ID of the charge that was incremented.
previousAmountinteger (int64)1299Authorized amount before the increment, in cents.
newAmountinteger (int64)1599New total authorized amount after the increment, in cents.
statusstring · enumSUCCEEDEDIncrement result. Values: SUCCEEDED | FAILED.
createdAtstring (ISO 8601)Timestamp when the increment was processed.

voidCapture — POST /charges/{chargeId}/voids

Field Type Example Description
idstring (UUID)f6377548-…Unique void operation identifier.
chargeIdstring (UUID)a1822999-…ID of the charge that was voided.
reasonstring · enumREQUESTED_BY_CUSTOMERVoid reason as submitted.
statusstring · enumSUCCEEDEDVoid result. Values: SUCCEEDED | FAILED.
createdAtstring (ISO 8601)Timestamp when the void was processed.

voidRefund — POST /refunds/{refundId}/voids

Field Type Example Description
idstring (UUID)g7488659-…Unique refund void operation identifier.
refundIdstring (UUID)b2933108-…ID of the refund that was voided.
reasonstring · enumERROR_CORRECTIONVoid reason as submitted.
statusstring · enumSUCCEEDEDVoid result. Values: SUCCEEDED | FAILED.
createdAtstring (ISO 8601)Timestamp when the refund void was processed.

release — POST /charges/{chargeId}/releases

Field Type Example Description
idstring (UUID)h8599760-…Unique release operation identifier.
chargeIdstring (UUID)a1822999-…ID of the charge whose hold was released.
reasonstring · enumEXPIRED_UNCAPTURED_CHARGERelease reason as submitted.
statusstring · enumSUCCEEDEDRelease result. Values: SUCCEEDED | FAILED.
createdAtstring (ISO 8601)Timestamp when the release was processed.

Error Response

Returned on all non-2xx HTTP responses. The error envelope is consistent across all endpoints.

Field Type Example Description
typestring · enumVALIDATION_ERRORError category. Values: VALIDATION_ERROR | AUTHENTICATION_ERROR | AUTHORIZATION_ERROR | NOT_FOUND | PROCESSING_ERROR | RATE_LIMIT_ERROR | API_ERROR.
codestringINVALID_AMOUNTMachine-readable error code identifying the specific problem. Stable across API versions.
messagestringAmount must be a positive integer.Human-readable description of the error. Subject to change — do not parse programmatically.
paramstringamountThe request parameter that caused the error. Present for VALIDATION_ERROR types.
errorsarrayArray of validation error objects when multiple fields fail. Each contains code, message, and param.
requestIdstring (UUID)req_9a1b2c3d-…Unique identifier for the failed request. Include in any support communication to PayFacto.