Additional Form Fields

Billing & Shipping

You can include billing and shipping information in your request by using the following fields. Some of these fields are mandatory for specific alternative payment methods or relevant for fraud prevention purpose.

Billing Information

FieldDescription
bcompanyCustomer's company name. Alphanumeric characters, spaces and dashes limited to 96.
bnameCustomer's name. Alphanumeric characters, spaces and dashes limited to 96.
baddr1Customer's billing address 1. Limit of 96 characters including spaces.
baddr2Customer's billing address 2. Limit of 96 characters including spaces.
bcityBilling City. Limit of 96 characters including spaces.
bstateState, Province or Territory. Limit of 96 characters including spaces.
bcountryCountry of Billing Address. Two letter country code.
bzipZip or Postal Code. Limit of 24 characters including spaces.
phoneCustomer's Phone Number. Limit of 32 characters.
faxCustomer's Fax Number. Limit of 32 characters.
emailCustomer's Email Address. Limit of 254 characters.

Shipping Information

FieldDescription
snameShip-to name. Alphanumeric characters, spaces and dashes limited to 96.
saddr1Shipping Address Line 1. Limit of 96 characters including spaces.
saddr2Shipping Address Line 2. Limit of 96 characters including spaces.
scityShipping City. Limit of 96 characters including spaces.
sstateState, Province or Territory. Limit of 96 characters including spaces.
scountryCountry of Billing Address. Two letter country code.
szipZip or Postal Code. Limit of 24 characters including spaces.

Visa Account Funding Transactions

The Account Funding Transaction (AFT) is a transaction used to pull funds from a card account in order to fund a push OCT to a different account, which can be either the cardholder's or another person's account.

Field NameM/ODescription, possible values and format
BusinessApplicationIdentifierMRepresents the identity of the merchant participating in AFT program, available values:
• ACCOUNT_TO_ACCOUNT
• BANK_INITIATED_TRANSFER
• BUSINESS_TO_BUSINESS
• CARD_BILL_PAYMENT
• FUNDS_DISBURSEMENT
• FUND_TRANSFER
• GAMBLING_PAYOUT
• GENERAL_FUNDS_DISBURSEMENT
• GOVERNMENT_DISBURSEMENT
• LOYALTY_PAYMENTS
• MERCHANT_DISBURSEMENT
• MERCHANT_PAYMENT
• NON_CARD_BILL_PAYMENT
• ONLINE_GAMBLING_PAYOUT
• PAYROLL_OR_PENSION_DISBURSEMENT
• PERSON_TO_PERSON
• TOPUP_FOR_ENHANCED_PREPAID_LOADS
• TOP_OFF
• WALLET_TRANSFER
• ZERO_DOLLAR_AUTHORIZATION
sdrNameMSender's Name
sdrAccountMSender's Account Number
sdrReferenceOSender Reference Number; contains a transaction reference number that is provided by the originator and can be used to uniquely identify the sender
sdrAddrMSender’s Address
sdrCityOSender’s City
sdrStateOSender's State
sdrPhoneOSender's Phone Number
sdrCountryMSender's Country
rNameMRecipient's Name
rAccountNumberMRecipient's Account Number
rReferenceNumberMRecipient's Reference Number

The following represents an example of a Visa AFT transaction including mandatory and optional set of elements:

<!-- #include file="ipg-util.asp"-->
<html>
<head><title>IPG Connect Sample for ASP</title></head>
<body>
<p><h1>Order Form</h1></p>
<form method="post" action=" https://test.ipg-online.com/connect/gateway/processing ">
<input type="hidden" name="txntype" value="sale">
<input type="hidden" name="checkoutoption" value="combinedpage">
<input type="hidden" name="timezone" value="Europe/Berlin"/>
<input type="hidden" name="txndatetime" value="<% getDateTime() %>"/>
<input type="hidden" name="hash_algorithm" value="HMACSHA256"/>
<input type="hidden" name="hashExtended" value="<% call createExtendedHash( "13.00","978" ) %>"/>
<input type="hidden" name="storename" value="1109950006" />
<input type="hidden" name="paymentMethod" value="M"/>
<input type="text" name="chargetotal" value="130.00" />
<input type="hidden" name="currency" value="978"/>
<input type="hidden" name="authenticateTransaction" value="true"/>
<input type="hidden" name="threeDSRequestorChallengeIndicator" value=”1”/>
<input type="text" name="cardnumber" value="540215******2355">
<input type="text" name="expmonth" value="12">
<input type="text" name="expyear" value="28">
<input type="text" name="businessApplicationIdentifier" value="PAYROLL_OR_PENSION_DISBURSEMENT">
<input type="text" name="sdrName" value="Sender Name">
<input type="text" name="sdrAccount" value="1234567890">
<input type="text" name="sdrReference" value="sendRefNo123">
<input type="text" name="sdrAddr" value="Sender Address">
<input type="text" name="sdrCity" value="Sender City">
<input type="text" name="sdrState" value="Sender State">
<input type="text" name="sdrPhone" value="123456456789">
<input type="text" name="sdrCountry" value="Sender Country">
<input type="text" name="rName" value="Recipient Name">
<input type="text" name="rAccountNumber" value="Recipient Account Number">
<input type="text" name="rReferenceNumber" value="receiverReferenceNumber108">
<input type="submit" value="Submit">
</form>
</body>
</html>

Mastercard MoneySend

Mastercard MoneySend makes it possible to credit a Mastercard account (for a credit, debit or prepaid card) via the existing payments system infrastructure.

Field NameM/ODescription, possible values and format
TransactionTypeIdentifierMRepresents the identity of the merchant participating in AFT program, available values:
• BUSINESS_DISBURSEMENT_MONEY_SEND
• BUSINESS_DISBURSEMENT_MONEY_TRANSFER
• BUSINESS_TO_BUSINESS_MONEY_SEND
• BUSINESS_TO_BUSINESS_MONEY_TRANSFER
• CARD_BILL_PAYMENT_MONEY_SEND
• CARD_BILL_PAYMENT_MONEY_TRANSFER
• GOVERNMENT_DISBURSEMENT_NONPROFIT
• OWN_ACCOUNT_MONEY_SEND
• OWN_ACCOUNT_MONEY_TRANSFER
• OWN_DEBIT_PREPAID_TRANSFER
• OWN_WALLET_TRANSFER
• PERSON_TO_PERSON_CARD_ACCOUNT
• PERSON_TO_PERSON_MONEY_SEND
• PERSON_TO_PERSON_MONEY_TRANSFER
• RAPID_MERCHANT_SETTLEMENT
sdrNameMSender's Name
sdrAccountOSender's Account Number
sdrReferenceOSender Reference Number; contains a transaction reference number that is provided by the originator and can be used to uniquely identify the sender
sdrAddrOSender’s Address
sdrCityOSender’s City
sdrStateOSender's State
sdrPhoneOSender's Phone Number
sdrCountryOSender's Country
rNameMRecipient's Name
rAccountNumberMRecipient's Account Number
rReferenceNumberORecipient's Reference Number
rCountryMRecipient's Country

The following represents an example of a Mastercard funding transaction including mandatory and optional set of elements:

<!-- #include file="ipg-util.asp"-->
<html>
<head><title>IPG Connect Sample for ASP</title></head>
<body>
<p><h1>Order Form</h1></p>
<form method="post" action=" https://test.ipg-online.com/connect/gateway/processing ">
<input type="hidden" name="txntype" value="sale">
<input type="hidden" name="checkoutoption" value="combinedpage">
<input type="hidden" name="timezone" value="Europe/Berlin"/>
<input type="hidden" name="txndatetime" value="<% getDateTime() %>"/>
<input type="hidden" name="hash_algorithm" value="HMACSHA256"/>
<input type="hidden" name="hashExtended" value="<% call createExtendedHash( "13.00","978" ) %>"/>
<input type="hidden" name="storename" value="1109950006" />
<input type="hidden" name="paymentMethod" value="M"/>
<input type="text" name="chargetotal" value="130.00" />
<input type="hidden" name="currency" value="978"/>
<input type="hidden" name="authenticateTransaction" value="true"/>
<input type="hidden" name="threeDSRequestorChallengeIndicator" value=”1”/>
<input type="text" name="cardnumber" value="540215******2355">
<input type="text" name="expmonth" value="12">
<input type="text" name="expyear" value="24">
<input type="text" name="transactionTypeIdentifier" value=" BUSINESS_DISBURSEMENT_MONEY_SEND">
<input type="text" name="sdrName" value="Sender Name">
<input type="text" name="sdrAccount" value="1234567890">
<input type="text" name="sdrReference" value="sendRefNo123">
<input type="text" name="sdrAddr" value="Sender Address">
<input type="text" name="sdrCity" value="Sender City">
<input type="text" name="sdrState" value="Sender State">
<input type="text" name="sdrPhone" value="123456456789">
<input type="text" name="sdrCountry" value="Sender Country">
<input type="text" name="rName" value="receiverReferenceNumber108">
<input type="text" name="rAccountNumber" value="Recipient Account Number">
<input type="text" name="rCountry" value="Recipient Country">
<input type="submit" value="Submit">
</form>
</body>
</html>

Purchasing Cards

Purchasing Cards offer businesses the ability to allow their employees to purchase items with a credit card while providing additional information on sales tax, customer code etc. When providing specific details on the payment being made with a Purchasing Card favourable addendum interchange rates are applied.

There are three levels of details required for Purchasing Cards:
• Level I - The first level is the standard transaction data; no enhanced data is required at this level.
• Level II - The second level requires that data such as tax amount and customer code be supplied in addition to the standard transaction date. (Visa only have a level II option)
• Level III - The third level allows a merchant to pass a detailed accounting of goods and services purchased to the buyer. All the data for Level I and Level II must also be passed to participate in Level III. (Visa and MasterCard).

You can submit Level II and Level III data in your transaction request using the following parameters:

Field NameDescription
pcCustomerReferenceIDMerchant-defined reference for the customer that will appear on the customer’s statement.
pcSupplierInvoiceNumberMerchant-defined reference for the invoice, e.g.: invoice number.
pcSupplierVATRegistrationNumberThe Identification number assigned by the taxing authorities to the merchant.
pcTotalDiscountAmountThe total discount amount applied to a transaction (i.e.: total transaction percentage discounts, fixed transaction amount reductions or summarization of line item discounts).
pcTotalDiscountRateThe rate of the discount for the whole transaction.
pcVatShippingRateThe total freight/shipping amount applied to the transaction. Merchants can choose to deliver the contents of a single transaction in multiple shipments and this field reflects the total cost of those deliveries.
pcVatShippingAmountThe total freight/shipping amount applied to the transaction. Merchants can choose to deliver the contents of a single transaction in multiple shipments and this field reflects the total cost of those deliveries.
pcLineItemsJsonLine Item Details in JSON format.
See table below for more information.

Purchasing Cards Line Item Details in JSON format:

Field NameDescription
CommodityCodeA reference to a commodity code used to classify purchased item.
ProductCodeA reference to a merchant product identifier, the Universal Product Code (UPC) of purchased item.
DescriptionRepresents a description of purchased item.
QuantityRepresents a quantity of purchased items.
UnitOfMeasureRepresents a unit of measure of purchased items.
UnitPriceRepresents mandatory data for Level III transactions.
VATAmountAndRateRepresents a rate of the VAT amount, e.g.: 0.09 (means 9%).
DiscountAmountAndRateRepresents a rate of the discount amount, e.g.: 0.09 (means 9%).
LineItemTotalThis field is a calculation of the unit cost multiplied by the quantity and less the discount per line item. The calculation is reflected as: [Unit Cost * Quantity] - Discount per Line Item = Line Item Total.

3-D Secure

If your store is enabled for 3-D Secure, all Sale or preAuth transactions that you initiate by posting an HTML form will by default go through the 3-D Secure process without the need for you to do anything, i.e.: cardholders with an enrolled card will see a page from the card issuer to perform 2-factor authentication unless the card issuer decides not to check it.

Field NameM/O/CDescription
authenticateTransactionMOptional parameter to be set either to ‘true’ or ‘false’ to enable or disable 3-D Secure authentication on a transaction-by-transaction basis.

Example for a transaction with 3-D Secure:
<input type="hidden" name="authenticateTransaction" value="true"/>

Example for a transaction without 3-D Secure:
<input type="hidden" name="authenticateTransaction" value="false"/>
threeDSRequestorChallengeIndicatorMOptional parameter for EMV 3-D Secure v2 to indicate the preferred type of authentication:

01 = no preference (set as default value)
02 = no challenge requested
03 = challenge requested (3DS requestor preference)
04 = challenge requested (mandate)
05 = No challenge requested (Transaction Risk Analysis is already performed)
06 = No challenge requested (Data Share Only)
07 = No challenge requested (SCA is already performed)
08 = No challenge requested (Utilize whitelist exemption if no challenge required)
09 = Challenge requested (Whitelist prompt requested if challenge required)
threeDSTransTypeOThe parameter for EMV 3-D Secure v2, represents the type of purchased item, mandatory for Visa and Brazilian market, otherwise optional. If no specific value present in the transaction request, default value is used.

01 - Goods/ Service Purchase (default value)
03 - Check Acceptance
10 - Account Funding
11 - Quasi-Cash Transaction
28 - Prepaid Activation and Load
scaExemptionIndicator1OUse this optional parameter to request an exemption from Strong Customer Authentication (SCA) without the need to perform 3-D Secure authentication. Currently available values:
Low Value Exemption TRA Exemption Trusted Merchant Exemption SCP Exemption Delegated Authentication Authentication Outage Exception

This parameter is relevant only for the distribution channels impacted by PSD2 requirements.
skipTRAOThis optional parameter allows you to use 3-D Secure even if the transaction has been evaluated as low risk and would be eligible for an exemption. Currently available values:
true
false
When your store has been set up with Transaction Risk Analysis (TRA) service, but you do want to force 3-D Secure authentication for a certain transaction, set ‘skipTRA’ to ‘true’.

This parameter is relevant only for the distribution channels impacted by PSD2 requirements.
oidOUse this optional parameter to assign an identifier for your order; in case you plan to authenticate the transaction using EMV 3DS protocol (aka 3DS 2.x) only the following characters are allowed:
A-Z, a-z, 0-9, "-"
bnameMCustomer's full name
baddr1OCustomers Billing Address 1, alphanumeric 96 characters max, including spaces
baddr2OCustomers Billing Address 2, alphanumeric 96 characters max, including spaces
bcityOBilling City, 96 characters max, including spaces
bstateOBilling State, Province or Territory (if applicable),
bcountryOBilling address country, format: 2 or 3 characters ISO Country Code
bzipOBilling address ZIP or postal code, alphanumeric 96 characters max, including spaces
phoneCCustomer's Phone Number, 32 characters max
emailCCustomer's email address
deviceChannelMUse this optional parameter to request a 3DS Requestor Initiated flow to be performed. If no value is submitted in the request a default value “02” is automatically submitted by the Gateway.

Available values:
• 02 – Browser Flow
• 03 – 3RI Flow
threeRIIndOIf you require a 3RI flow to be performed, you must indicate the character of your request.
Currently available values:
• 01 – Recurring transaction
• 02 – Instalment transaction
• 03 – Add card
• 04 – Maintain card information
• 05 – Account verification
• 06 – Split / delayed shipment
• 07 – Top-up
• 08 – Mail Order
• 09 – Telephone Order
• 10 – Whitelist status check
• 11 – Other payment
recurringExpiryCThis field represents a date after which no further recurring transactions are performed. The field needs to be submitted in cases, where the first recurring or installment transaction is to be performed through 3-D Secure. If no specific value is present in the transaction request, the Gateway calculates the value based on populated recurring parameters.
recurringFrequencyCIndicates the minimum number of days between authorisations for a recurring or instalment transaction and should include a numeric value between 1 and 9999.
If no specific value is present in the transaction request, the Gateway calculates the value based on populated recurring parameters.

🚧

Scheme data integrity requirements demand to provide also customer's billing information in the transaction request, if available and possible to be collected upfront.

Additional required parameters are captured and populated automatically by the Gateway:
• Browser IP Address
• Browser Screen Height
• Browser Screen Width

Recurring Payment Scheduler

For credit card transactions, it is possible to install recurring payments using Hosted Payment Page. To use this feature, the following additional parameters have to be submitted in the request:

Field NameDescription
recurringInstallmentCountNumber of installments to be made including the initial transaction submitted;
allowed values 2-999
recurringInstallmentPeriodThe periodicity of recurring payment; available values:
day
week
month
year
recurringInstallmentFrequencyTime period between payments, available values 1-99

Network Tokenisation

You can send a transaction request using Network Token value submitted in cardnumber field together with tokenCryptogram.

Field NameDescription
tokenCryptogramNetwork token cryptogram value
cardnumberCard number (PAN) or Network Token value

The following represents an example of a ‘Sale’ transaction request including tokenCryptogram and Network Token value filled out in the cardnumber field.

<!-- #include file="ipg-util.asp""-->

<html>
<head><title>IPG Connect Sample for ASP</title></head>
<body>
<p><h1>Order Form</h1></p>
<form method="post" action=" https://test.ipg-online.com/connect/gateway/processing ">
  <input type="hidden" name="txntype" value="sale">
    <input type="hidden" name="checkoutoption" value="combinedpage">
    <input type="hidden" name="timezone" value="Europe/Berlin"/>
    <input type="hidden" name="txndatetime" value="<% getDateTime() %>"/>
    <input type="hidden" name="hash_algorithm" value="HMACSHA256"/>
    <input type="hidden" name="hashExtended" value="<% call createExtendedHash( "13.00","978" ) %>"/>
    <input type="hidden" name="storename" value="1109950006" />
    <input type="hidden" name="paymentMethod" value="M"/>
    <input type="text" name="chargetotal" value="130.00" />
    <input type="hidden" name="currency" value="978"/>
    <input type="hidden" name="authenticateTransaction" value="true"/>
    <input type="hidden" name="threeDSRequestorChallengeIndicator" value=”1”/>
    <input type="hidden" name="tokenCryptogram" value=”AGX1lvbYlypcAAV22IGgADFA==”/>
    <input type="text" name="cardnumber" value="540215******2355">
    <input type="text" name="expmonth" value="12">
    <input type="text" name="expyear" value="24">
    <input type="submit" value="Submit">
</form>
</body>
</html>

Once you retrieved Network Token from your provider, you can use our HPP combinedmode to submit its value in cardnumber field together with tokenCryptogram.


Want a quick overview?