NAV Navbar
Logo
Java

Before Starting the Integration

These are the steps you need to know; to start building an integration with PayFort:

Step 1: Access your test account
You have to make sure that you have an access to a test account, its a full test environment allow you to simulate and process simulation transactions.

Step 2: make sure that you are using the correct integration type
Before building the integration, you need to make sure that you are selecting and using the proper parameters in the API calls as per the required integration type.

All the mandatory parameters mentioned under every section in the API document.

Step 3: Create the transaction request
Process the valid API request depends on transaction parameters included, you need to check the documentation and read every parameter possible values in order to reduce the errors in processing the transaction.

Step 4: Process the transaction response
After every payment, PayFort return the transaction response on the URL configured in your account under Technical Settings channel configuration.

You can find more details in the API documentation section Direct Transaction Feedback.

You need to validate the response parameters returned on this URL by calculating the signature for the response parameters using the SHA Response Phrase configured in your account under Security Settings.

Step 5: Test and Go Live You can use our testing cards to test your integration and simulate your test cases.

PayFort team may require to test your integration before going live to assure your application integration.

MasterPass Service

As another move towards a cashless environment, PayFort provides MasterPass; a digital wallet that securely stores the buyer’s credit card details and shipping addresses and information, making shopping through thousands of online Merchants simple and convenient. This is fulfilled by enhancing and simplifying the buyer’s digital shopping experience.

MasterPass Redirection

Integration Flow

1. The Merchant submits a form that includes all the parameters.
    The Merchant calls the following URL to be redirected to the FORT:
    https://checkout.payfort.com/FortAPI/paymentPage
2. The FORT returns a response to the Merchant.
3. The FORT inserts the response parameters into a JavaScript.
4. A lightbox appears to the buyer where he enters his credentials, selects the card type and the shipping address, and clicks “Finish Shopping”.
5. The FORT either proceeds to Authorize or Purchase the payment based on the value of the command parameter sent in the Merchant’s form.

6. The FORT returns a response to the Merchant.(Please refer to section MasterPass Service - Response for the Response Parameters).


MasterPass Service URLs

Test Environment URL:

 https://sbcheckout.payfort.com/FortAPI/paymentPage

Production Environment URL:

 https://checkout.payfort.com/FortAPI/paymentPage


Parameters Submission Type

HTTPs Form Post Request.


MasterPass Service - Request

(Please take a look at the Request Example on the right side of the page.)
Include the following parameters in the Request you will send to PayFort:

MasterPass Request Example

<form action="https://sbcheckout.payfort.com/FortAPI/paymentPage"method="post"id="simulatorForm">
<input type="hidden" name="digital_wallet" id="digital_wallet" value="MASTERPASS"/>
<input type="hidden" name="command"id="command" value="AUTHORIZATION"/>
<input type="hidden" name="access_code" id="access_code" value="zx0IPmPy5jp1vAz"/>
<input type="hidden" name="merchant_identifier" id="merchant_identifier" value="CycHZxVj"/>
<input type="hidden" name="merchant_reference" id="merchant_reference" value="XYZ9239-yu898"/>
<input type="hidden" name="amount" id="amount" value="10000"/>
<input type="hidden" name="currency" id="currency" value="AED"/>
<input type="hidden" name="language" id="language" value="en"/>
<input type="hidden" name="customer_email" id="customer_email" value="someone@email.com"/>
<input type="hidden" name="signature" id="signature" value="7cad05f0212ed933c9a5d5dffa31661acf2c827a"/>
<input type="hidden" name="payment_option"id="payment_option" value="VISA"/>
<input type="hidden" name="order_description" id="order_description" value="iPhone 6-S"/>
<input type="hidden" name="customer_ip" id="customer_ip" value="192.178.1.10"/>
<input type="hidden" name="customer_name" id="customer_name" value="John Smith"/>
<input type="hidden" name="cart_details" id="cart_details" value='{"sub_total":"900","cart_items":[{"item_description":"Xbox","item_image":"http://image.com","item_name":"Xbo x 360","item_price":"300","item_quantity":"2"},{"item_description":"Playstation 3","item_image":"http://image.com","item_name":"Playstation 3","item_price":"150","item_quantity":"2"}]}'/>
<input type="hidden" name="return_url" id="return_url" value="http://backtothemerchanturl.com"/>
<input value="Send" type="submit"> </form>
ATTRIBUTES Description
digital_wallet
Alpha
Mandatory
max: 100
The buyer’s digital wallet.
Possible/ expected values: MASTERPASS
command
Alpha
Mandatory
max: 20
Command.
Possible/ expected values: AUTHORIZATION, PURCHASE
access_code
Alphanumeric
Mandatory
max: 20
Access code.
Example: zx0IPmPy5jp1vAz
merchant_identifier
Alphanumeric
Mandatory
max: 20
The ID of the Merchant.
Example: CycHZxVj
merchant_reference
Alphanumeric
Mandatory
max: 40
The Merchant’s unique order number.
Example: XYZ9239-yu898
Special characters: - _ .
amount
Numeric
Mandatory
max: 10
The transaction’s amount. *Each currency has predefined allowed decimal points that should be taken into consideration when sending the amount.
Example: 10000
currency
Alpha
Mandatory
max: 3
The currency of the transaction’s amount in ISO code 3.
Example: AED
language
Alpha
Mandatory
max: 2
The checkout page and messages language.
Possible/ expected values: en/ ar
customer_email
Alphanumeric
Mandatory
max: 254
The customer’s email.
Example: customer@domain.com
Special characters: _ - . @ +
cart_details
Alphanumeric
Mandatory
max: 999
This parameter is a parent parameter for other parameters that contain the details of the shopping cart created by the Merchant.
Example: please check the note below the table.
Special characters: $
cart_items
Alphanumeric
Mandatory
max: 999
The items of the shopping cart.
Example: Tshirt
Special characters: $
item_price
Numeric
Mandatory
max: 10
The price of a cart item.
Example: 700
sub_total
Numeric
Mandatory
max: 10
The total price of the cart items.
Example: 550
item_description
Alphanumeric
Mandatory
max: 127
A description of a cart’s item.
Example: iPhone 6-S
Special characters: - _ ' , . Space
item_image
Alphanumeric
Mandatory
max: 500
A URL to the item’s image.
Example: https://www.image.com
Special characters: # / : . = ? & - _
item_name
Alphanumeric
Mandatory
max: 100
The name of an item in the shopping cart.
Example: Item1
Special characters: Space
item_quantity
Alphanumeric
Mandatory
max: 10
The quantity of a cart item.
Example: 4
signature
Alphanumeric
Mandatory
max: 200
A string hashed using the Secure Hash Algorithm. (Please refer to section Please refer to section Signature for more details).
Example: 7cad05f0212ed933c9a5d5dffa31661acf2c827a
order_description
Alphanumeric
Optional
Max: 150
It holds the description of the order.
Example: iPhone 6-S
Special characters: ' / . _ - # : $ Space
payment_option
Alpha
Optional
max: 10
Payment Option.
Possible/ expected values: MASTERCARD, VISA
customer_ip
Alphanumeric
Optional
max: 45
It holds the customer’s IP address. *It’s Mandatory, if the fraud service is active. *We support IPv4 and IPv6 as shown in the example below.
Example:
IPv4 → 192.178.1.10
IPv6 → 2001:0db8:3042:0002:5a55:caff:fef6:bdbf
Special characters: . :
customer_name
Alpha
Optional
max: 40
The customer’s name.
Example: John Smith
Special characters: _ \ / - . ' Space
phone_number
Alphanumeric
Optional
max: 19
The customer’s phone number.
Example: 00962797219966
Special characters: + - ( ) Space
settlement_reference
Alphanumeric
Optional
max: 34
The Merchant submits this value to the FORT. The value is then passed to the Acquiring bank and displayed to the merchant in the Acquirer settlement file.
Example: XYZ9239-yu898
Special characters: - _ .
return_url
Alphanumeric
Optional
max: 400
The URL of the Merchant’s page to be displayed to the customer when the order is processed.
Example: http://www.merchant.com
Special characters: $ ! = ? # & - _ / : .


MasterPass Service - Response

The following parameters will be returned in PayFort’s Response:

ATTRIBUTES Description
digital_wallet
Alpha
max: 100
The buyer’s digital wallet.
Possible/ expected values: MASTERPASS
command
Alpha
max: 20
Command.
Possible/ expected values: AUTHORIZATION, PURCHASE
access_code
Alphanumeric
max: 20
Access code.
Example: zx0IPmPy5jp1vAz
merchant_identifier
Alphanumeric
max: 20
The ID of the Merchant.
Example: CycHZxVj
merchant_reference
Alphanumeric
max: 40
The Merchant’s unique order number.
Example: XYZ9239-yu898
amount
Numeric
max: 10
The transaction’s amount.
Example: 10000
currency
Alpha
max: 3
The currency of the transaction’s amount in ISO code 3.
Example: AED
language
Alpha
max: 2
The checkout page and messages language.
Possible/ expected values: en/ ar
customer_email
Alphanumeric
max: 254
The customer’s email.
Example: customer@domain.com
cart_details
Alphanumeric
max: 999
This parameter is a parent parameter for other parameters that contain the details of the shopping cart created by the Merchant.
cart_items
Alphanumeric
max: 999
The items of the shopping cart.
Example: Tshirt
item_price
Numeric
max: 10
The price of a cart item.
Example: 700
sub_total
Numeric
max: 10
The total price of the cart items.
Example: 550
item_description
Alphanumeric
max: 127
A description of a cart’s item.
Example: iPhone 6-S
item_image
Alphanumeric
max: 500
A URL to the item’s image.
Example: https://www.image.com
item_name
Alphanumeric
max: 100
The name of an item in the shopping cart.
Example: Item1
item_quantity
Alphanumeric
max: 10
The quantity of a cart item.
Example: 4
signature
Alphanumeric
max: 200
A string hashed using the Secure Hash Algorithm. (Please refer to section Please refer to section Signature for more details).
Example: 7cad05f0212ed933c9a5d5dffa31661acf2c827a
order_description
Alphanumeric
Max: 150
It holds the description of the order.
Example: iPhone 6-S
payment_option
Alpha
max: 10
Payment Option.
Possible/ expected values: MASTERCARD, VISA
customer_ip
Alphanumeric
max: 45
It holds the customer’s IP address. *We support IPv4 and IPv6 as shown in the example below.
Example:
IPv4 → 192.178.1.10
IPv6 → 2001:0db8:3042:0002:5a55:caff:fef6:bdbf
customer_name
Alpha
max: 40
The customer’s name.
Example: John Smith
response_message
Alphanumeric
Max: 150
The message description of the response code; it returns according to the request language.
Possible/ expected values: Please refer to section messages
response_code
Numeric
Max: 5
Response Code carries the value of our system’s response. *The code consists of five digits, the first 2 digits represent the response status, and the last 3 digits represent the response messages.
Example: 20064
authorization_code
Alphanumeric
Max: 100
The authorization code returned from the 3rd party.
Example: P1000000000000372136
status
Numeric
Max: 2
A two-digit numeric value that indicates the status of the transaction.
Possible/ expected values: Please refer to section statuses.
phone_number
Alphanumeric
max: 19
The customer’s phone number.
Example: 00962797219966
settlement_reference
Alphanumeric
max: 34
The Merchant submits this value to the FORT. The value is then passed to the Acquiring bank and displayed to the merchant in the Acquirer settlement file.
Example: XYZ9239-yu898
lightbox_callback_url
Alphanumeric
max: 400
The URL where MasterPass is redirected to the FORT.
lightbox_merchant_checkout_id
Alphanumeric
max: 100
When a Merchant is added to MasterPass, MasterPass generates this ID.
Example: a4a6w4cmliej1igb8j5ha1igi4spzo4xxx
lightbox_version
Alphanumeric
max: 5
The lightbox version to determine which version to be used.
Example: V2
lightbox_allowed_card_types
Alpha
max: 150
The card types supported by the Merchant. (A MasterPass parameter).
Example: MasterCard
lightbox_request_token
Alphanumeric
max: 100
A Token sent by MasterPass to identify the lightbox transaction. (A MasterPass parameter).
Example: 61c593e2b3524bc7694f893098cbb6dc8611b63a
return_url
Alphanumeric
max: 400
The URL of the Merchant’s page to be displayed to the customer when the order is processed.
Example: http://www.merchant.com

MasterPass Hosted

Masterpass Hosted accepts digital wallet transactions without redirection to Masterpass pages and instead; it will be hosted on the Merchant website.


MasterPass Service URLs

Test Environment URL:

 https://sbcheckout.payfort.com/FortAPI/paymentPage

Production Environment URL:

 https://checkout.payfort.com/FortAPI/paymentPage


Parameters Submission Type

REST POST request using JSON.


MasterPass Service - Request

(Please take a look at the Request Example on the right side of the page.)
Include the following parameters in the Request you will send to PayFort:

MasterPass Request Example

<form action="https://sbcheckout.payfort.com/FortAPI/paymentPage"method="post"id="simulatorForm">
<input type="hidden" name="digital_wallet" id="digital_wallet" value="MASTERPASS"/>
<input type="hidden" name="command"id="command" value="AUTHORIZATION"/>
<input type="hidden" name="access_code" id="access_code" value="zx0IPmPy5jp1vAz"/>
<input type="hidden" name="merchant_identifier" id="merchant_identifier" value="CycHZxVj"/>
<input type="hidden" name="merchant_reference" id="merchant_reference" value="XYZ9239-yu898"/>
<input type="hidden" name="amount" id="amount" value="10000"/>
<input type="hidden" name="currency" id="currency" value="AED"/>
<input type="hidden" name="language" id="language" value="en"/>
<input type="hidden" name="customer_email" id="customer_email" value="someone@email.com"/>
<input type="hidden" name="signature" id="signature" value="7cad05f0212ed933c9a5d5dffa31661acf2c827a"/>
<input type="hidden" name="payment_option"id="payment_option" value="VISA"/>
<input type="hidden" name="order_description" id="order_description" value="iPhone 6-S"/>
<input type="hidden" name="customer_ip" id="customer_ip" value="192.178.1.10"/>
<input type="hidden" name="oauth_verifier" id="oauth_verifier" value="ed91ead4afaa0c00673fe771c1027f247f7ddf04"/>
<input type="hidden" name="customer_name" id="customer_name" value="John Smith"/>
<input type="hidden" name="cart_details" id="cart_details" value='{"sub_total":"900","cart_items":[{"item_description":"Xbox","item_image":"http://image.com","item_name":"Xbo x 360","item_price":"300","item_quantity":"2"},{"item_description":"Playstation 3","item_image":"http://image.com","item_name":"Playstation 3","item_price":"150","item_quantity":"2"}]}'/>
<input type="hidden" name="return_url" id="return_url" value="http://backtothemerchanturl.com"/>
<input value="Send" type="submit"> </form>
ATTRIBUTES Description
digital_wallet
Alpha
Mandatory
max: 100
The buyer’s digital wallet.
Possible/ expected values: MASTERPASS
command
Alpha
Mandatory
max: 20
Command.
Possible/ expected values: AUTHORIZATION, PURCHASE
access_code
Alphanumeric
Mandatory
max: 20
Access code.
Example: zx0IPmPy5jp1vAz
merchant_identifier
Alphanumeric
Mandatory
max: 20
The ID of the Merchant.
Example: CycHZxVj
merchant_reference
Alphanumeric
Mandatory
max: 40
The Merchant’s unique order number.
Example: XYZ9239-yu898
Special characters: - _ .
amount
Numeric
Mandatory
max: 10
The transaction’s amount. *Each currency has predefined allowed decimal points that should be taken into consideration when sending the amount.
Example: 10000
currency
Alpha
Mandatory
max: 3
The currency of the transaction’s amount in ISO code 3.
Example: AED
language
Alpha
Mandatory
max: 2
The checkout page and messages language.
Possible/ expected values: en/ ar
customer_email
Alphanumeric
Mandatory
max: 254
The customer’s email.
Example: customer@domain.com
Special characters: _ - . @ +
oauth_verifier
Alphanumeric
Mandatory
max: 100
MasterPass transaction ID, returned by MasterPass light box response.
Example: ed91ead4afaa0c00673fe771c1027f247f7ddf04
cart_details
Alphanumeric
Mandatory
max: 999
This parameter is a parent parameter for other parameters that contain the details of the shopping cart created by the Merchant.
Example: please check the note below the table.
Special characters: $
cart_items
Alphanumeric
Mandatory
max: 999
The items of the shopping cart.
Example: Tshirt
Special characters: $
item_price
Numeric
Mandatory
max: 10
The price of a cart item.
Example: 700
sub_total
Numeric
Mandatory
max: 10
The total price of the cart items.
Example: 550
item_description
Alphanumeric
Mandatory
max: 127
A description of a cart’s item.
Example: iPhone 6-S
Special characters: - _ ' , . Space
item_image
Alphanumeric
Mandatory
max: 500
A URL to the item’s image.
Example: https://www.image.com
Special characters: # / : . = ? & - _
item_name
Alphanumeric
Mandatory
max: 100
The name of an item in the shopping cart.
Example: Item1
Special characters: Space
item_quantity
Alphanumeric
Mandatory
max: 10
The quantity of a cart item.
Example: 4
signature
Alphanumeric
Mandatory
max: 200
A string hashed using the Secure Hash Algorithm. (Please refer to section Please refer to section Signature for more details).
Example: 7cad05f0212ed933c9a5d5dffa31661acf2c827a
order_description
Alphanumeric
Optional
Max: 150
It holds the description of the order.
Example: iPhone 6-S
Special characters: ' / . _ - # : $ Space
payment_option
Alpha
Optional
max: 10
Payment Option.
Possible/ expected values: MASTERCARD, VISA
customer_ip
Alphanumeric
Optional
max: 45
It holds the customer’s IP address. *It’s Mandatory, if the fraud service is active. *We support IPv4 and IPv6 as shown in the example below.
Example:
IPv4 → 192.178.1.10
IPv6 → 2001:0db8:3042:0002:5a55:caff:fef6:bdbf
Special characters: . :
customer_name
Alpha
Optional
max: 40
The customer’s name.
Example: John Smith
Special characters: _ \ / - . ' Space
phone_number
Alphanumeric
Optional
max: 19
The customer’s phone number.
Example: 00962797219966
Special characters: + - ( ) Space
settlement_reference
Alphanumeric
Optional
max: 34
The Merchant submits this value to the FORT. The value is then passed to the Acquiring bank and displayed to the merchant in the Acquirer settlement file.
Example: XYZ9239-yu898
Special characters: - _ .
return_url
Alphanumeric
Optional
max: 400
The URL of the Merchant’s page to be displayed to the customer when the order is processed.
Example: http://www.merchant.com
Special characters: $ ! = ? # & - _ / : .


MasterPass Service - Response

The following parameters will be returned in PayFort’s Response:

ATTRIBUTES Description
digital_wallet
Alpha
max: 100
The buyer’s digital wallet.
Possible/ expected values: MASTERPASS
command
Alpha
max: 20
Command.
Possible/ expected values: AUTHORIZATION, PURCHASE
access_code
Alphanumeric
max: 20
Access code.
Example: zx0IPmPy5jp1vAz
merchant_identifier
Alphanumeric
max: 20
The ID of the Merchant.
Example: CycHZxVj
merchant_reference
Alphanumeric
max: 40
The Merchant’s unique order number.
Example: XYZ9239-yu898
amount
Numeric
max: 10
The transaction’s amount.
Example: 10000
currency
Alpha
max: 3
The currency of the transaction’s amount in ISO code 3.
Example: AED
language
Alpha
max: 2
The checkout page and messages language.
Possible/ expected values: en/ ar
customer_email
Alphanumeric
max: 254
The customer’s email.
Example: customer@domain.com
oauth_verifier
Alphanumeric
max: 100
MasterPass transaction ID, returned by MasterPass light box response.
Example: ed91ead4afaa0c00673fe771c1027f247f7ddf04
cart_details
Alphanumeric
max: 999
This parameter is a parent parameter for other parameters that contain the details of the shopping cart created by the Merchant.
cart_items
Alphanumeric
max: 999
The items of the shopping cart.
Example: Tshirt
item_price
Numeric
max: 10
The price of a cart item.
Example: 700
sub_total
Numeric
max: 10
The total price of the cart items.
Example: 550
item_description
Alphanumeric
max: 127
A description of a cart’s item.
Example: iPhone 6-S
item_image
Alphanumeric
max: 500
A URL to the item’s image.
Example: https://www.image.com
item_name
Alphanumeric
max: 100
The name of an item in the shopping cart.
Example: Item1
item_quantity
Alphanumeric
max: 10
The quantity of a cart item.
Example: 4
signature
Alphanumeric
max: 200
A string hashed using the Secure Hash Algorithm. (Please refer to section Please refer to section Signature for more details).
Example: 7cad05f0212ed933c9a5d5dffa31661acf2c827a
order_description
Alphanumeric
Max: 150
It holds the description of the order.
Example: iPhone 6-S
payment_option
Alpha
max: 10
Payment Option.
Possible/ expected values: MASTERCARD, VISA
customer_ip
Alphanumeric
max: 45
It holds the customer’s IP address. *We support IPv4 and IPv6 as shown in the example below.
Example:
IPv4 → 192.178.1.10
IPv6 → 2001:0db8:3042:0002:5a55:caff:fef6:bdbf
customer_name
Alpha
max: 40
The customer’s name.
Example: John Smith
response_message
Alphanumeric
Max: 150
The message description of the response code; it returns according to the request language.
Possible/ expected values: Please refer to section messages
response_code
Numeric
Max: 5
Response Code carries the value of our system’s response. *The code consists of five digits, the first 2 digits represent the response status, and the last 3 digits represent the response messages.
Example: 20064
authorization_code
Alphanumeric
Max: 100
The authorization code returned from the 3rd party.
Example: P1000000000000372136
status
Numeric
Max: 2
A two-digit numeric value that indicates the status of the transaction.
Possible/ expected values: Please refer to section statuses.
phone_number
Alphanumeric
max: 19
The customer’s phone number.
Example: 00962797219966
settlement_reference
Alphanumeric
max: 34
The Merchant submits this value to the FORT. The value is then passed to the Acquiring bank and displayed to the merchant in the Acquirer settlement file.
Example: XYZ9239-yu898
lightbox_callback_url
Alphanumeric
max: 400
The URL where MasterPass is redirected to the FORT.
lightbox_merchant_checkout_id
Alphanumeric
max: 100
When a Merchant is added to MasterPass, MasterPass generates this ID.
Example: a4a6w4cmliej1igb8j5ha1igi4spzo4xxx
lightbox_version
Alphanumeric
max: 5
The lightbox version to determine which version to be used.
Example: V2
lightbox_allowed_card_types
Alpha
max: 150
The card types supported by the Merchant. (A MasterPass parameter).
Example: MasterCard
lightbox_request_token
Alphanumeric
max: 100
A Token sent by MasterPass to identify the lightbox transaction. (A MasterPass parameter).
Example: 61c593e2b3524bc7694f893098cbb6dc8611b63a
return_url
Alphanumeric
max: 400
The URL of the Merchant’s page to be displayed to the customer when the order is processed.
Example: http://www.merchant.com

Visa Checkout Service

Visa Checkout is a digital wallet that securely stores the buyer’s credit card details and shipping addresses and information, making shopping through thousands of online Merchants simple and convenient. This service enhances and simplifies the buyer’s online shopping experience. Visa Checkout can be offered through two different integrations:

Merchant Hosted Checkout Button

This integration allows the Merchant to host Visa Checkout button on his website giving him maximum control over the look and feel and user experience. The following steps describe how this integration works:

1. The Merchant should include the following JavaScript in the HTML header of its checkout page. This JavaScript loads the Visa Checkout library and defines handlers to initialization and payment events.

2. The Merchant should use the following class to render Visa Checkout button that a consumer clicks to initiate a payment.

Use the following URLs for test and production environments:

Test Environment URL:

https://sandbox.secure.checkout.visa.com/wallet-services-web/xo/button.png

Production Environment URL:

https://secure.checkout.visa.com/wallet-services-web/xo/button.png

3. The Merchant should use the following JavaScript to control the operation on Visa Checkout on the website.

Use the following URLs for test and production environments:

Test Environment URL:

https://sandbox-assets.secure.checkout.visa.com/checkout-widget/resources/js/integration/v1/sdk.js

Production Environment URL:

https://assets.secure.checkout.visa.com/checkout-widget/resources/js/integration/v1/sdk.js

4. After completing the previous steps, the consumer clicks on Visa Checkout button, Visa Checkout light box appears and the user complete the checkout process.

5. The Merchant receives a successful response. The response associated with the payment success event returns list of parameters. The Merchant has to collect the value of “call_id” parameter to be used in the following step.

6. The Merchant submits Purchase request to the FORT adding 2 extra parameters: digital-wallet, call_id. Please refer to Merchant Hosted Visa Checkout - Request for more details.

7. The Merchant system receives the FORT’s purchase request and then uses Visa Checkout update image pixel. Below you can find an example of how to use Visa Checkout update image pixel. Please refer to “Visa checkout PayFort documentation” for more details.

The following example shows an HTML web page that loads the Visa Checkout library, defines handlers for initialization and payment events, and creates a Visa Checkout button:

Merchant Hosted Visa Checkout - Request

Include the following the parameters to the Merchant page operation - Request parameters.

ATTRIBUTES Description
digital_wallet
Alpha
Mandatory
max: 100
The buyer’s digital wallet.
Possible/ expected values: VISA_CHECKOUT
Special characters: _
call_id
Alphanumeric
Mandatory
max: 100
Visa Chekout transaction ID, returned by visa checkout light box response as “callId” parameter.
Example: 3000545511479392001

Merchant Hosted Visa Checkout - Response

The following parameters will be returned in PayFort’s Response in additional to the Merchant page operation - Response parameters:

ATTRIBUTES Description
digital_wallet
Alpha
max: 100
The buyer’s digital wallet.
Possible/ expected values: VISA_CHECKOUT
call_id
Alphanumeric
max: 100
Visa Chekout transaction ID, returned by visa checkout light box response as “callId” parameter.
Example: 3000545511479392001

PayFort Hosted Checkout Button

This integration allows the Merchant to integrate Visa Checkout using PayFort hosted checkout button. The following steps describe how this integration works:
1. The user clicks on the pay button on the Merchant checkout page.
2. The Merchant submits an Authorization or Purchase request in addition to one extra parameter: digital_wallet. (Please refer to PayFort Hosted Visa Checkout - Request for more details).
3. The user is redirected to a page hosted on PayFort where Visa Checkout light-box page is displayed.

4. The user enters his credential and complete Visa Checkout process.
5. PayFort processes the transaction and return a valid response back to the Merchant.

PayFort Hosted Visa Checkout - Request

Include the following parameter to the redirection request parameters (Please refer to Authorization/ Purchase – Request section)

ATTRIBUTES Description
digital_wallet
Alpha
Mandatory
max: 100
The buyer’s digital wallet.
Possible/ expected values: VISA_CHECKOUT
Special characters: _

PayFort Hosted Visa Checkout - Response

The following parameters will be returned in PayFort’s Response in additional to the Authorization/ Purchase – Response parameters:

ATTRIBUTES Description
digital_wallet
Alpha
Mandatory
max: 100
The buyer’s digital wallet.
Possible/ expected values: VISA_CHECKOUT

FORT Transaction Feedback

Overview

The FORT transaction Feedback system provides Merchants with two types of configurable notifications:
1. Direct Transaction Feedback, PayFort will send Merchants HTTPs notifications that inform Merchants of the transaction’s final status whenever a transaction is processed.
2. Notification Transaction Feedback, PayFort will send Merchants HTTPs notifications that inform Merchants of the transaction’s final status whenever a transaction status is updated.

Registering Transaction Feedback URLs

1. Log in to your back-office account.
2. Select the active channel under Integration Settings > Technical Settings.
3. Enter your Direct Transaction Feedback URL and Notification Transaction Feedback URL.
4. Click “Save Changes” button.

Transaction Feedback submission

The FORT will send Transaction Feedback data as form POST Parameters to the Merchant’s Transaction Feedback URLs.
However if you want to change the submission type to JSON or XML, you can contact us on integration@payfort.com.
This configuration can be enabled by internal PayFort team only
The specifics of the data will differ based upon the financial operation that has been processed.
Please refer to the FORT integration guide for more details.

Responding to FORT Transaction Feedback

Beyond whatever your Transaction Feedback URL does with the data received, it must also return a 2xx (like 200 , 201 , etc…) or 302 HTTP status code to tell the FORT that the notification was received. If your URL does not return 2xx or 302, the FORT will continue to retry the notification until it’s properly acknowledged.
In case the FORT does not receive 200 or 302 HTTP status code it will attempt to send the notification for 10 times with 10 seconds in between.
This configuration is editable as well, if you want to change the grace period or the time interval between the retries please contact us on integration@payfort.com.