PayFacto API - v1.0 - Request Parameters

PayFacto API - v1.0 - Request Parameters

Request Parameters

Complete reference for all request parameters accepted by the PayFacto API v1.0. Parameters are grouped by functional category. Each endpoint requires a specific subset — refer to individual endpoint articles for the exact required and optional fields.

Version: v1.0   |   Last updated: 2026-05-28

ℹ️

All parameters are passed inside a Base64-encoded payload form field. Assemble parameters as a cleartext query string (e.g. CompanyNumber=12345&MerchantNumber=53400000&...), Base64-encode the result, then POST as: auth-api-key={key}&payload={base64}.

💳

  Core / Merchant Identity

These parameters appear on virtually every endpoint and establish the merchant identity and transaction context.

ParameterType / LengthFormatDescription
CompanyNumberNumeric / 512345Identifies the merchant on PayFacto's network. Provided by PayFacto during onboarding.
MerchantNumberNumeric / 853400000Identifies the merchant to PayFacto's network. Provided by the PayFacto integration team. Contact PayFacto to obtain your merchant number.
CustomerNumberAlphanumeric / 8CLIENT12Merchant-assigned customer identifier. Used to associate a client record with the transaction. Optional for most endpoints but recommended for reporting.
OperatorIDAlphanumeric / 8USER0001Identifies the cashier, agent, or system that initiated the transaction. Useful for POS, call-center, and audit trail purposes. Not typically required for Internet transactions.
LanguageCodeAlphanumeric / 1F or ELanguage for PayFacto responses and hosted payment pages. F=French, E=English.
CurrencyCodeAlphanumeric / 3CAD or USDCurrency of the transaction (indicative only — does not determine billing currency). CAD=Canadian dollars. USD=US dollars (requires a US merchant number).
InputTypeAlphanumeric / 1N, I, M, UHow the transaction is initiated. N=terminal/pinpad (Semi-Integrated), I=Internet/E-Commerce, M=MOTO (Mail Order / Telephone Order), U=Unattended.
InvoiceNumberAlphanumeric / 12123456789123Merchant-generated invoice number associated with the transaction. May be unique or reused per merchant's requirements.
MerchantTerminalNumberNumeric / 512345Identifies the terminal on PayFacto's network. For E-Commerce transactions (InputType=I), send 5 blank spaces.
💵

  Amount Fields

All monetary values are sent as integers in the smallest currency unit, zero-padded left to 11 digits. There is no decimal point — $4.29 is transmitted as 00000000429.

ParameterType / LengthFormatDescription
AmountNumeric / 1100000000429Transaction amount in the smallest currency unit. Zero-padded left. Includes decimal digits — no decimal point is sent. Example: $4.29 is sent as 00000000429.
OriginalAmountNumeric / 1100000010000The amount of the original Pre-Authorization transaction. Normally used in a Pre-Authorization and Completion scenario. Zero-padded left. Example: $100.00 is sent as 00000010000.
taxAmountNumeric / 1100000000374Total tax amount included in Amount, zero-padded left. Required to enable pre-tax tip prompts on the terminal. Without it, tip is prompted on the full amount including tax. Example: $3.74 is sent as 00000000374.
💰

  Card & AVS

Card parameters for E-Commerce and MOTO transactions. For Semi-Integrated terminal transactions (InputType=N), send CardNumber as 40 spaces and ExpirationDate as 4 spaces — the terminal supplies all card data.

ParameterType / LengthFormatDescription
CardNumberAlphanumeric / 40Left-justified, space-paddedCardholder's card number. Left-justified and space-padded to 40 characters for manual entry (M/I). For InputType=N, send 40 space characters — the terminal supplies card data. ApplePay and GooglePay use a device ID rather than the actual card number.
CardTypeAlphanumeric / 1A, M, V, I, OCard brand. For InputType=N send a blank space. For I/M: A=Amex, M=Mastercard, V=Visa, I=Diners, O=Discover. Use a blank space for unknown card type.
ExpirationDateNumeric / 40726Card expiration date in MMYY format (2 digits for month, 2 for year). Validated by the card issuer. For InputType=N, send 4 space characters. Example: 0726 = July 2026.
Cvv2Cvc2NumberNumeric / 43 or 4 digitsCard security code from the back of the card (or front for Amex). 3 digits for Visa/Mastercard, 4 digits for Amex. Send 3 spaces to make it optional.
CardHolderAddressAlphanumeric / 20Free textCardholder's billing street address. Used for Address Verification Service (AVS) validation. When provided, the response includes avsStatus.
CardHolderPostalCodeAlphanumeric / 9Right space-paddedCardholder's billing postal code for AVS validation. Right-padded with spaces to 9 characters. Example: J6A2T8
CardHolderAVVAlphaHex / 40Hex stringVerified by Visa (VbV) authentication token. Required for 3-D Secure Visa transactions.
📋

  Original Transaction Reference

These parameters reference a previously processed transaction. Store these values from every transaction response — they are required for Void, Refund, and Completion operations.

ParameterType / LengthFormatDescription
OriginalInvoiceNumberAlphanumeric / 12123456789123The invoice number of the original transaction. Required for Void and Refund Without Card operations to locate the original transaction and retrieve card details.
OriginalTransactionNumberNumeric / 12000123456789The unique PayFacto gateway transaction identifier of the original transaction. Obtained from the transactionNumber field in the original response. Required for Void and Refund Without Card.
OriginalAuthorizationNumberAlphanumeric / 8AUTH7766The authorization number returned in the original Pre-Authorization response. Required for Standalone Completion.
OriginalTerminalInvoiceNumberNumeric / 12Zero-paddedThe terminal invoice number returned in the original Pre-Authorization response. Required for Standalone Completion to route the request to the correct terminal.
TransactionNumberNumeric / 12000123456789The transaction number from the response of a transaction for which an acknowledgment is wanted.
TUIDNumeric / 24212400667337208477009882PayFacto switch (EPOS) unique transaction number. Used by Refund with TUID to identify the original transaction without card data.
🌐

  Redirect / Hosted Payment

Parameters specific to the Redirect (hosted payment page) session flow. The merchant creates a session server-side, then redirects the cardholder's browser to the PayFacto hosted page.

ParameterType / LengthFormatDescription
SuccessUrlAlphanumeric / 240https://example.com/successURL to which PayFacto redirects the cardholder after a successful transaction. Must be a fully qualified HTTPS address. Required for Redirect session creation endpoints.
FailureUrlAlphanumeric / 240https://example.com/failureURL to which PayFacto redirects the cardholder after a failed or abandoned transaction. Must be a fully qualified HTTPS address. Required for Redirect session creation endpoints.
SecureIDAlphanumeric / 50Alphanumeric tokenSecure session identifier returned by Redirect session creation. Valid for 15 minutes. Used to build the browser redirect URL and to retrieve the transaction result via Get Response.
🔒

  3-D Secure

Authentication tokens generated by 3-D Secure verification (Verified by Visa and Mastercard SecureCode). These values are obtained from your 3-D Secure provider before calling the PayFacto API.

ParameterType / LengthFormatDescription
CardHolderAVVAlphaHex / 40Hex stringVerified by Visa (VbV) authentication token. Required for 3-D Secure Visa transactions.
xIDAlphaHex / 40Hex stringTransaction identifier returned by a successful Verified by Visa login. Required for 3-D Secure flows.
uCAFAlphanumeric / 64Base64 stringMastercard SecureCode authentication data. Required for 3-D Secure Mastercard transactions.
📱

  OEM Wallet (ApplePay / GooglePay)

Parameters for mobile wallet transactions. The payment token is generated by the mobile device's authorized wallet and passed to PayFacto in place of card data.

ParameterType / LengthFormatDescription
OEMWalletDataAlphanumeric / VariableJSON messagePayment token generated by the mobile device wallet. For ApplePay, send the Apple payment token as received from PassKit. For Google Pay, send the paymentData.paymentMethodData.tokenizationData.token value received from the Google Pay API.
OEMWalletTypeAlphanumeric / VariableApplePay or GooglePayIndicates which OEM wallet generated the OEMWalletData. Accepted values: ApplePay, GooglePay.
🔄

  Recurring Billing

Parameters used by the recurring billing module (/v1/recur/* endpoints) to manage subscribers, subscriptions, and invoices.

ParameterType / LengthFormatDescription
TokenAlphanumeric / 352079wo00wbwp916d3l2mutd8t7965o99mp9Security token linked to the subscriber's credit card in the PayFacto Token Vault. Returned on transactions where tokenization is enabled. Used for recurring billing, token-based purchases, and refunds.
IDNumeric / 12Zero-padded, e.g. 000000000001Unique identifier of a recurring subscription or session. Left zero-padded to 12 digits.
NameAlphanumeric / 50Min 3 charactersCardholder or subscriber name. Can be URI-encoded to allow special characters. Must be at least 3 characters long.
EmailAlphanumeric / 240test@test.comEmail address of the cardholder or subscriber.
StartDateNumeric / 8YYYYMMDDBeginning date of the subscription.
EndDateNumeric / 8YYYYMMDDEnd date of the subscription. Send 8 spaces for an open-ended subscription.
FrequencyNumeric / 203Frequency code for the recurring subscription. 00=Postponed (1 withdrawal at a future date), 01=Daily, 02=Weekly, 03=Monthly, 04=Every 2 months, 05=Quarterly (3 months), 06=Every 4 months, 07=Every 6 months, 08=Yearly, 09=Every 2 weeks, 10=Twice monthly.
NumberOfPaymentsNumeric / 3e.g. 012Number of payments to make. Send 3 spaces if not applicable (open-ended).
DescriptionAlphanumeric / 50URI-encodableMerchant reference description for the subscription. Can be URI-encoded to accept special characters.
AccountNumberAlphanumeric / 50ACC00012345Merchant reference number for the subscriber account.
StatusNumeric / 201, 50 (subscription) / 0108 (invoice)Status code applied to the subscription or invoice. Subscription: 01=Active, 50=Pause. Invoice: 01=Active, 02=In process, 03=Processed, 04=Completed (terminal), 05=Error, 06=Suspended, 07=Expired, 08=Without card.

  Miscellaneous

Additional parameters for specific use cases such as receipt customisation, credential-on-file transactions, and batch management.

ParameterType / LengthFormatDescription
DisplayTextAlphanumeric / 80Free textMessage to display on the terminal when requesting a signature capture.
UserEchoDataAlphanumeric / 256Pipe-delimitedCustom data to be printed on the terminal receipt (Semi-Integrated only). Pipe-delimited line segments. Format: |LineNum(1)FieldValue|LineNum(1)FieldValue|. Contact PayFacto integration before use.
TrxOptionAlpha / 50isCredentialOnFile, isRecurring, isInstallmentAdds transaction-level options. For Credential-on-File (COF) initial transactions, pass twice: TrxOption=isCredentialOnFile&TrxOption=isFirst. Values isCredentialOnFile, isRecurring, and isInstallment are mutually exclusive.
BatchNumberNumeric / 40001The batch number used by the terminal when the transaction was processed. Can be used when creating client receipts.
AccountNumberAlphanumeric / 50123456a789bcMerchant reference number for the customer account.