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
Field | Description |
---|---|
bcompany | Customer's company name. Alphanumeric characters, spaces and dashes limited to 96. |
bname | Customer's name. Alphanumeric characters, spaces and dashes limited to 96. |
baddr1 | Customer's billing address 1. Limit of 96 characters including spaces. |
baddr2 | Customer's billing address 2. Limit of 96 characters including spaces. |
bcity | Billing City. Limit of 96 characters including spaces. |
bstate | State, Province or Territory. Limit of 96 characters including spaces. |
bcountry | Country of Billing Address. Two letter country code. |
bzip | Zip or Postal Code. Limit of 24 characters including spaces. |
phone | Customer's Phone Number. Limit of 32 characters. |
fax | Customer's Fax Number. Limit of 32 characters. |
email | Customer's Email Address. Limit of 254 characters. |
Shipping Information
Field | Description |
---|---|
sname | Ship-to name. Alphanumeric characters, spaces and dashes limited to 96. |
saddr1 | Shipping Address Line 1. Limit of 96 characters including spaces. |
saddr2 | Shipping Address Line 2. Limit of 96 characters including spaces. |
scity | Shipping City. Limit of 96 characters including spaces. |
sstate | State, Province or Territory. Limit of 96 characters including spaces. |
scountry | Country of Billing Address. Two letter country code. |
szip | Zip 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 Name | M/O | Description, possible values and format |
---|---|---|
BusinessApplicationIdentifier | M | Represents 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 |
sdrName | M | Sender's Name |
sdrAccount | M | Sender's Account Number |
sdrReference | O | Sender Reference Number; contains a transaction reference number that is provided by the originator and can be used to uniquely identify the sender |
sdrAddr | M | Sender’s Address |
sdrCity | O | Sender’s City |
sdrState | O | Sender's State |
sdrPhone | O | Sender's Phone Number |
sdrCountry | M | Sender's Country |
rName | M | Recipient's Name |
rAccountNumber | M | Recipient's Account Number |
rReferenceNumber | M | Recipient'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 Name | M/O | Description, possible values and format |
---|---|---|
TransactionTypeIdentifier | M | Represents 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 |
sdrName | M | Sender's Name |
sdrAccount | O | Sender's Account Number |
sdrReference | O | Sender Reference Number; contains a transaction reference number that is provided by the originator and can be used to uniquely identify the sender |
sdrAddr | O | Sender’s Address |
sdrCity | O | Sender’s City |
sdrState | O | Sender's State |
sdrPhone | O | Sender's Phone Number |
sdrCountry | O | Sender's Country |
rName | M | Recipient's Name |
rAccountNumber | M | Recipient's Account Number |
rReferenceNumber | O | Recipient's Reference Number |
rCountry | M | Recipient'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 Name | Description |
---|---|
pcCustomerReferenceID | Merchant-defined reference for the customer that will appear on the customer’s statement. |
pcSupplierInvoiceNumber | Merchant-defined reference for the invoice, e.g.: invoice number. |
pcSupplierVATRegistrationNumber | The Identification number assigned by the taxing authorities to the merchant. |
pcTotalDiscountAmount | The total discount amount applied to a transaction (i.e.: total transaction percentage discounts, fixed transaction amount reductions or summarization of line item discounts). |
pcTotalDiscountRate | The rate of the discount for the whole transaction. |
pcVatShippingRate | The 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. |
pcVatShippingAmount | The 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. |
pcLineItemsJson | Line Item Details in JSON format. See table below for more information. |
Purchasing Cards Line Item Details in JSON format:
Field Name | Description |
---|---|
CommodityCode | A reference to a commodity code used to classify purchased item. |
ProductCode | A reference to a merchant product identifier, the Universal Product Code (UPC) of purchased item. |
Description | Represents a description of purchased item. |
Quantity | Represents a quantity of purchased items. |
UnitOfMeasure | Represents a unit of measure of purchased items. |
UnitPrice | Represents mandatory data for Level III transactions. |
VATAmountAndRate | Represents a rate of the VAT amount, e.g.: 0.09 (means 9%). |
DiscountAmountAndRate | Represents a rate of the discount amount, e.g.: 0.09 (means 9%). |
LineItemTotal | This 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 Name | M/O/C | Description |
---|---|---|
authenticateTransaction | M | Optional 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"/> |
threeDSRequestorChallengeIndicator | M | Optional 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) |
threeDSTransType | O | The 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 |
scaExemptionIndicator1 | O | Use 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. |
skipTRA | O | This 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. |
oid | O | Use 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, "-" |
bname | M | Customer's full name |
baddr1 | O | Customers Billing Address 1, alphanumeric 96 characters max, including spaces |
baddr2 | O | Customers Billing Address 2, alphanumeric 96 characters max, including spaces |
bcity | O | Billing City, 96 characters max, including spaces |
bstate | O | Billing State, Province or Territory (if applicable), |
bcountry | O | Billing address country, format: 2 or 3 characters ISO Country Code |
bzip | O | Billing address ZIP or postal code, alphanumeric 96 characters max, including spaces |
phone | C | Customer's Phone Number, 32 characters max |
email | C | Customer's email address |
deviceChannel | M | Use 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 |
threeRIInd | O | If 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 |
recurringExpiry | C | This 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. |
recurringFrequency | C | Indicates 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 Name | Description |
---|---|
recurringInstallmentCount | Number of installments to be made including the initial transaction submitted; allowed values 2-999 |
recurringInstallmentPeriod | The periodicity of recurring payment; available values:day week month year |
recurringInstallmentFrequency | Time 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 Name | Description |
---|---|
tokenCryptogram | Network token cryptogram value |
cardnumber | Card 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
.
Updated about 2 months ago