Request Parameters

Request Parameters

Edit

AccountNumber

 AccountNumber

This parameter is a reference for the merchant.

FormatLengthPossible Values
Alphanumeric50

AmountAmount

This parameter is the amount of the financial transaction.
The value also contains the decimal part of the transaction. Left (0) padding.

FormatLengthPossible Values
Numeric11Example : $4,29 is “00000000429”

BatchNumber

 BatchNumber

The batch number identifies the batch used by the terminal when the transaction has been processed. It can be used when creating the client receipt.

FormatLengthPossible Values
Numeric4Example : “0001”

CardNumber

 CardNumber

The value is justified on the left for manual entry (inputType “M” or “I”) and must be completed with spaces (“ ”)

In the case of a transaction with a pinpad or a terminal (inputType “N”), the merchant must use an empty card number (40 spaces characters).

ApplePay and GooglePay use a “device ID” rather than the actual card number.

FormatLengthPossible Values
Alphanumeric40

CardType

 CardType

The card type depends on the card used by the customer.

If the inputType is Internet (type “I”) and the merchant's site allows to specify a credit card type, for example “Visa”, the merchant can specify it with this field in the transaction.

FormatLengthPossible Values
Alphanumeric1If the inputType is “ N ” :
Use a blank space

If the inputType is “ I ” or “ M ” :
“ A ” is for American Express
“ M ” is for MasterCard
“ I ” is for Diners
“ V ” is for Visa
“ O ” is for Discover

NB : It is possible to use a blank space for an unknown card type

CardHolderAddress

 CardHolderAddress

This parameter is the address of the cardholder used in the address verification transaction (AVS).


FormatLengthPossible Values
Alphanumeric20

CardHolderAVV

 CardHolderAVV

This parameter is the Verify by Visa authentication token.


FormatLengthPossible Values
AlphaHex40

CardHolderPostalCode

 CardHolderPostalCode

This parameter is the postal code used in the Address verification transaction (AVS).
Right (space) padding.

FormatLengthPossible Values
Alphanumeric9Example : J6A 2T8 is “J6A2T8 “

CompanyNumber

 CompanyNumber

This number identifies the merchant on PayFacto's network. This number is provided by PayFacto.

FormatLengthPossible Values
Numeric5Example : “12345”

CurrencyCode

 CurrencyCode

The currency is the currency used for the financial transaction.

The value sent for this parameter does not defined in what currency the client will be charged, it is only an indicative information.

USD value should only be used when a merchant is setup with a US merchant number.

FormatLengthPossible Values
Alphanumeric3“CAD” for Canadian dollars.
“USD” for American dollars.

CustomerNumber

 CustomerNumber

This number identifies the customer with the merchant.

If a merchant maintains a database of his clients, he can use this field to associate one of his clients with the financial transaction.

FormatLengthPossible Values
Alphanumeric8Example:“CLIENT12”

Cvv2Cvc2Number

 Cvv2Cvc2Number

This parameter represent the CVV2/CVC2 number on the back on the card.
The value can be 3 (Visa, MasterCard) or 4 (Amex) digits long. It can also be 3 spaces to make it optional.

FormatLengthPossible Values
Numeric4

DisplayText

 DisplayText

The message to display when requesting a signature capture.

FormatLengthPossible Values
Alphanumeric80Any

Description

 Description

This parameter is a reference for the merchant to identify the subscription.
The value can be URI encoded to accept special characters.

FormatLengthPossible Values
Alphanumeric50

Email

 Email

This parameter is the email address of the cardholder.


FormatLengthPossible Values
Alpha240Example : “test@test.com

EndDate

 EndDate

End date of the subscription.

FormatLengthPossible Values
Numeric8YYYYMMDD

ExpirationDate

 ExpirationDate

The expiration date is the one that is found on client credit card.

The card issuer is responsible for the expiration date validation.

The format is “MMYY” (2 numbers for the month and 2 numbers for the year).

In the case of a transaction with a pinpad or a terminal (inputType “N”), the merchant must use an empty expiration date (4 spaces characters).

FormatLengthPossible Values
Numeric4Example:“0620” corresponding to July 2020

FailureUrl

 FailureUrl

When requesting a redirection session, the merchant must provide a URL address to the payment solution.

This URL will be used to redirect the client if the transaction is a failure.

FormatLengthPossible Values
Alphanumeric240Example:“http://www.ctpaiement.com/failure.aspx

Frequency

 Frequency

Frequency code for the subscription.

FORMATLENGTHPOSSIBLE VALUES
Numeric2



For a recurring amount

CodeNameDescription 
00Postponed1 withdrawal at a future date
01Daily1 withdrawal each day
02Weekly1 withdrawal each week the same day of the week as the beginning date
03Monthly1 withdrawal each month the same day of the month as the beginning day (Withdrawal the last day of the month if the month is to short: February 31….)
04Each 2 months1 withdrawal each 2 months the same day of the month as the beginning date
05Quarterly1 withdrawal each 3 months the same day of the month as the beginning day
06Haft year1 withdrawal each 4 months the same day of the month as the beginning day
072x year1 withdrawal each 6 months the same day as the beginning day
08Yearly1 withdrawal by year at the anniversary date of the beginning date
09At each 2 weeks1 withdrawal each 14 days from the beginning day
102x month2 monthly withdrawals. 1st in the 15 first days and 2nd 15 days after. If the month is too short, the 2nd will be made on the last day of the month.



For a Total Payable Amount

Example

For a total amount of $100.00 payable in 3 payments in 3 months, the frequency must be set to 13 (Monthly).
If the amount is not equally divisible, the remaining amount will be applied to the last withdrawal.
In the example, the first and second withdrawal is $33.33 and the last one $33.34.

ID

 ID

The ID defines the subscription unique number.
Left (0) padding.

FormatLengthPossible Values
Numeric12“000000000000”

InputType

 InputType

The input type defines the method used by the merchant to execute the transaction.

This value shows which type of transaction the merchant wants to process.

FormatLengthPossible Values
Alphanumeric1“N” for terminal or pinpad transactions(Semi-Integrated)
“I” for Internet (e-commerce) transactions
“M” for mail order/telephone order (MOTO)
“U” for unattended transactions

InvoiceNumber

 InvoiceNumber

This number associated the merchant's invoice number with the financial transaction.

The invoice number is generated by the merchant and may be unique or not, as per merchant's needs.

FormatLengthPossible Values
Alphanumeric12Example : “123456789123”

IopIssuerConfirmationNumber

 IopIssuerConfirmationNumber

Issuer Confirmation Number from online banking (Acxsys), to be displayed on the merchant's confirmation page.

  • is not present if payment was not guaranteed.



Merchant must display this confirmation number on their confirmation screen.

FormatLengthPossible Values
Alphanumeric1-15

IopIssuerName

 IopIssuerName

Issuer’s name, to be displayed on the Merchant’s confirmation page.

Should be in the language the customer was using for online banking.

FormatLengthPossible Values
Alphanumeric1-30

IopTransactionId

 IopTransactionId

The IOP transaction id must be extracted from the IDEBIT_TRACK2.

The IDEBIT_TRACK2 is assigned by Issuer.

Contains PAN, Expiry Date, and Transaction ID. PAN and Transaction ID together must uniquely identify a Transaction. PAN begins with an IIN assigned to the Issuer for use with INTERAC Online Transactions only.

PAN (variable length up to 19 digits) + "=" + 4 digit Expiry Date (YYMM) + Transaction ID (13 alphanumeric chars) + zero padding up to 37 characters 

Last digit of PAN is a mod10 check digit Expiry Date >= current system date.

  • Is not present if payment was not guaranteed.



Must match BM35 in the 200 Message (at least enough of it to uniquely identify the Transaction). The PAN must match BM2 in the 200 Message (except that BM2 is blank padded up to 19 characters). The definition of characters 21-24 as an “Expiry Date” is included for backward compatibility only; how it is used is up to the Issuer.

LanguageCode

 LanguageCode

The language code specifies the language in which the merchant wants the PayFacto to send the response to the customer.

In redirection mode, the language code will be used to display the payment page in the appropriate language.

FormatLengthPossible Values
Alphanumeric1F is for FRENCH
E is for ENGLISH

MerchantNumber

 MerchantNumber

This number identifies the merchant to PayFacto's network. This number is provided by the PayFacto's integration team. Please contact PayFacto to obtain your merchant number.

FormatLengthPossible Values
Numeric8Example : “53400000”

MerchantTerminalNumber

 MerchantTerminalNumber

The merchant terminal number identifies the terminal on PayFacto's network, which is used to process the transaction.

FormatLengthPossible Values
Numeric5Example:“12345”; for ecommerce transactions send 5 blank spaces.

Name

 Name

This parameter is the name of the cardholder.
The value can be URI encoded to allow special characters.
The value must be at least 3 characters long.

FormatLengthPossible Values
Alphanumeric50

NumberOfPayments

 NumberOfPayments

Number of payments to make or 3 spaces.

FormatLengthPossible Values
Numeric3

OEM Wallet Data

 OEMWalletData

The OEM Wallet data is generated by the mobile device authorized wallet.

For ApplePay, you must send the Apple payment token as received by the passkit.
For Google PayTM, you must send the payment token (paymentData.paymentMethodData.tokenizationData.token) as received by Google Pay API

FormatLengthPossible Values
AlphanumericVariableJSON message

OEM Wallet Type

 OEMWalletType

The OEM Wallet type is used to indicate which wallet was used to generate the OEMWalletData

The data returned by the OEM wallet is in various format. The data should be sent as is.


Examples:

FormatLengthPossible Values
AlphanumericVariable“ApplePay” for ApplePay.
“GooglePay” for Google Pay

OperatorID

 OperatorID

The operator id is useful for identifying the cashier's name in the case of a point-of-sale terminal or a user in the case of a call center.

It is usually not used for Internet transactions. It allows the merchant to identify the employee, who generated the transaction on PayFacto's network.

It is always preferable to identify where the transaction originated from within the merchant's system.

FormatLengthPossible Values
Alphanumeric8Example:“USER0001”

OriginalAmount

 OriginalAmount

This parameter is the original amount of a financial transaction. Normally used in a Pre-Authorization and Completion scenario.
The value also contains the decimal part of the transaction. Left (0) padding.

FormatLengthPossible Values
Numeric11Example : $4,29 is “00000000429”

OriginalAuthorizationNumber

 OriginalAuthorizationNumber

The value comes from the authorization number obtained in the response of the initial transaction.

FormatLengthPossible Values
Alphanumeric8Example : “777406 “

OriginalInvoiceNumber

 OriginalInvoiceNumber

This number associated the merchant's invoice number with the initial financial transaction.

The original invoice number is generated by the merchant in the initial request. It will also be returned in the response of the initial transaction.

FormatLengthPossible Values
Alphanumeric12Example : “123456789123”

OriginalTerminalInvoiceNumber

 OriginalTerminalInvoiceNumber

This parameter is the original terminal invoice number of the financial transaction. Mainly used in the standaloneCompletion transaction
Left (0) padding.

FormatLengthPossible Values
Numeric12

OriginalTransactionNumber

 OriginalTransactionNumber

The value comes from the transaction number obtained in the response of the initial transaction.

FormatLengthPossible Values
Numeric12Example : “000123456789”

SecureID

 Secure ID

When the new session creation has been successful, PayFacto returns a session identifier for the entire process of the transaction.

The session identifier is used when requesting the result of the transaction.

FormatLengthPossible Values
Alphanumeric50Example : “aasdf87a9sdg69sdf8s6d0fg76s9df8g6sd”

StartDate

 StartDate

Beginning date of the subscription.

FormatLengthPossible Values
Numeric8YYYYMMDD

Status

 Status

This parameter is the status of either client, invoice or subscription.


FormatLengthPossible Values
Numeric2

Client Status

CodeName
“01”ActiveThe client is active and transactions can be made.
“02”ExpiredThe client’s card is expired. All transactions will return an error.
“03”No card setThere is no information on the credit card in the database. No transaction can be made.



Invoice Status

CodeName
“01”ActiveThe invoice will be processed in the next execution.
“02”In processWithdrawal is in process.
“03”ProcessedWithdrawal is done, but some operations have to be done to finalize the transaction.
“04”CompletedAll operations are completed. This status is final.
“05”ErrorAn error has happened during the withdrawal.
“06”SuspendedThe invoice is unpaid and won’t be processed in the next execution.
“07”ExpiredThe client’s credit card is expired. An action is required from the merchant to modify the client’s card to reactivate the invoice.
“08”Without cardNo credit card information exists for the client. An action is required from the merchant to modify the client’s card to reactivate the invoice.



Subscription Status

CodeName
“01”ActiveSubscription is active and the withdrawals will take place as planned.
“50”PauseSubscription is temporarily suspended and the withdrawals won’t be made.

SuccessUrl

 SuccessUrl

When requesting a redirection session, the merchant must provide a URL address to the payment solution.

This URL will be used to redirect the client if the transaction is a success.

FormatLengthPossible Values
Alphanumeric240Example:“http://www.ctpaiement.com/success.aspx

Token

 Token

Security token linked to the client credit card used for client’s operations or subscriptions.

FormatLengthPossible Values
Alphanumeric35Example : “2079wo00wbwp916d3l2mutd8t7965o99mp9”

TUID

 TUID

PayFacto switch (EPOS) unique transaction number.

FormatLengthPossible Values
Numeric24Example : “212400667337208477009882”

TransactionNumber

 TransactionNumber

The value comes from the transaction number obtained in the response of the transaction for which an acknowledgment is wanted.

FormatLengthPossible Values
Numeric12Example : “000123456789”

TrxOption

 TrxOption

This parameter is to add some option on a financial transaction.


FormatLengthPossible Values
Alpha50isRecurring

uCAF

 uCAF

This parameter is the Mastercard SecureCode data.


FormatLengthPossible Values
Alphanumeric64

UserEchoData

 UserEchoData

This parameter is a special field to pass information to be printed on the terminal receipt using our Semi-Integrated solution. Please contact our integration team before using this field.

<FS>LineNumber(1 CHAR)FieldValue(Variable length-(27 CHAR)<FS>LineNumber (1 CHAR)FieldValue<FS>
Ex:

|1Lable Line 1: Value1|2Label Line 2:Value2|3Label Line 3: value3|4Label Line 4: 1234567890|5Label Line 5: 12345|6Label Line 6: value 6|



FormatLengthPossible Values
Alphanumeric256

xID

 xID

This parameter is the transaction identifier returned by Verify by Visa sucessful login.


FormatLengthPossible Values
AlphaHex40
    • Related Articles

    • Response Parameters

      accountType accountType The account type represents the client's account in which the financial transaction took place. Format Length Possible Values Alphanumeric 1 “C” chequing account “S” savings account amount amount Same as request parameter ...
    • Application Information Request

      To call the PayFacto payment application, a developer needs to create an Android intent. JavaScript Intent intent = new Intent("com.payfacto.terminal.payment.PAYMENT_ACTIVITY"); More extra data is needed to complete the intent: Extra String Label ...
    • SHP - Secure Hosted Pages

      Secure Hosted Pages Migrating from Legacy Hosted Pages In an effort to simplify redirect, The new Secure Hosted Pages (SHP) is very different from the old version. The new SHP mirrors Secure Hosted Checkout (SHC) fairly closely, making it easier to ...
    • API Specifications

      Overview To communicate with the Payment API you should submit HTTP POST requests to the corresponding endpoints. There are differ endpoints for Test and Production. The API uses FORM parameters (key-value parameters passed in an HTTP POST URL) for ...
    • Hosted Payment Page

      Introduction This page aims to train future users of the secure redirection of the PayFacto payment solution. You will find in this page a description of the secure redirection service, the operation, the various call and return parameters, the ...