------------------*****-********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************Authorization Request Structure
An authorization request can have one of two structures. You use the first for all authorization requests, except when submitting an incremental authorization (i.e., authIndicator = Incremental). You must structure an Authorization request as shown in the following examples. The structure of an Authorization request is identical for either an Online or a Batch submission.
Authorization Structure for all except Incremental Auth
<authorization id="Authorization Id" reportGroup="iQ Report Group" customerId="Customer Id">
<orderId>Order Id</orderId>
<amount>Authorization Amount</amount>
<secondaryAmount>Secondary Amount</secondaryAmount>
<surchargeAmount>Surcharge Amount</surchargeAmount>
<orderSource>Order Entry Source</orderSource>
[ <card> | <paypal> | <paypage> | <token> | <mpos> | <applepay>]
<pos>
<taxType>payment or fee</taxType>
<recyclingRequest> (for Recovery merchants using Recycling)
<recurringRequest > (for Recurring Engine merchants)
<debtRepayment>true or false</debtRepayment>
<wallet>
<processingType>processing type enum</processingType>
<originalNetworkTransactionId>Network Txn Id Value</originalNetworkTransactionId>
<originalTransactionAmount>Amount from Orig Txn</originalTransactionAmount>
<skipRealtimeAU>true or false</skipRealtimeAU>
<merchantCategoryCode>MCC Value</merchantCategoryCode>
<businessIndicator>Enum Value</businessIndicatorType>
<orderChannel>Enum Value</orderChannel>
<fraudCheckStatus> (INTERNAL USE ONLY)
<crypto>true or false</crypto>
<overridePolicy> (INTERNAL USE ONLY)
<fsErrorCode> (INTERNAL USE ONLY)
<merchantAccountStatus> (INTERNAL USE ONLY)Y
<productEnrolled> (INTERNAL USE ONLY)
<decisionPurpose> (INTERNAL USE ONLY)
<fraudSwitchIndicator> (INTERNAL USE ONLY)
<authIndicator>Estimated</authIndicator>
<accountFundingTransactionData>
<fraudCheckAction>Enum Value</fraudCheckAction>
<typeOfDigitalCurrency>Type value</typeOfDigitalCurrency>
<conversionAffiliateId>Conversion Affiliate Id value</conversionAffiliateId>
<originalRetrievalReferenceNumber>Retrieval reference number from response</originalRetrievalReferenceNumber>
</authorization>
Authorization Structure for Incremental Auth
<authorization id="Authorization Id" reportGroup="iQ Report Group" customerId="Customer Id">
<cnpTxnId>cnpTxnId from Estimated Auth</cnpTxnId>
<amount>Authorization Amount</amount>
<authIndicator>Incremental</authIndicator>
</authorization>
Example: Batch Authorization Request - Card Not Present
The example below shows a batch request with a single card-not-present Authorization request. If the batch included additional Authorization requests, each would have it’s own <authorization>
element with all applicable attributes and child elements. Also, the numAuths
attribute of the <batchRequest>
element would increment for each additional <authorization>
element and the authAmount
attribute would increase by the new amounts from each authorization.
<cnpRequest version="12.17" xmlns="http://www.vantivcnp.com/schema" numBatchRequests = "1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest numAuths="1" authAmount="2500" merchantId="000902">
<authorization id="test1" reportGroup="core" customerId="test1">
<orderId>visa_test1</orderId>
<amount>2500</amount>
<orderSource>telephone</orderSource>
<billToAddress>
<name>John Doe</name>
<addressLine1>15 Main Street</addressLine1>
<city>San Jose</city>
<state>CA</state>
<zip>95032-1234</zip>
<country>USA</country>
<phone>9782750000</phone>
<email>jdoe@worldpay.com</email>
</billToAddress>
<shipToAddress>
<name>Jane Doe</name>
<addressLine1>15 Main Street</addressLine1>
<city>San Jose</city>
<state>CA</state>
<zip>95032-1234</zip>
<country>USA</country>
<phone>9782750000</phone>
<email>jdoe@worldpay.com</email>
</shipToAddress>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>1130</expDate>
</card>
<customBilling>
<phone>8009990001</phone>
<descriptor>bdi*001</descriptor>
</customBilling>
<allowPartialAuth>true</allowPartialAuth>
</authorization>
</batchRequest>
</cnpRequest>
Example: Batch Authorization Request - Card Present
The following example contains two Authorization requests, each defined in its own <authorization>
element. The first is a card present transaction, which uses the <track>
child of the <card>
element.
<cnpRequest version="12.0" xmlns="http://www.vantivcnp.com/schema" id="123" numBatchRequests="1">
<authentication>
<user>userName</user>
<password>password</password>
</authentication>
<batchRequest id="01234567" numAuths="2" authAmount="68336" merchantId="100">
<authorization id="AX54321678" reportGroup="RG27">
<orderId>12z58743y1</orderId>
<amount>12522</amount>
<orderSource>retail</orderSource>
<billToAddress>
<zip>95032</zip>
</billToAddress>
<card>
<track>%B40000001^Doe/JohnP^06041...?;40001=0604101064200?</track>
</card>
<pos>
<capability>magstripe</capability>
<entryMode>completeread</entryMode>
<cardholderId>signature</cardholderId>
</pos>
</authorization>
<authorization id="AX54325432" reportGroup="RG12">
<orderId>12z58743y7</orderId>
<amount>55814</amount>
<orderSource>retail</orderSource>
<billToAddress>
<zip>01854</zip>
</billToAddress>
<card>
<type>VI</type>
<number>4005550000081019</number>
<expDate>0911</expDate>
</card>
<pos>
<capability>keyedonly</capability>
<entryMode>keyed</entryMode>
<cardholderId>directmarket</cardholderId>
</pos>
<allowPartialAuth>true</allowPartialAuth>
</authorization>
</batchRequest>
</cnpRequest>
Example: Online Authorization Request
The example below uses 3dsAuthenticated
as the <orderSource>
value. If you submit the wrong <orderSource>
value, we return the response code 370 - Internal System Error - Contact Vantiv. Also, the values for the <authenticationValue>
and <authenticationTransactionId>
elements in the example are truncated.
<cnpOnlineRequest version="12.0" xmlns="http://www.vantivcnp.com/schema" merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<authorization id="834262" reportGroup="ABC Division" customerId="038945">
<orderId>65347567</orderId>
<amount>40000</amount>
<surchargeAmount>3500</surchargeAmount>
<orderSource>3dsAuthenticated</orderSource>
<billToAddress>
<name>John Smith</name>
<addressLine1>100 Main St</addressLine1>
<city>Boston</city>
<state>MA</state>
<zip>12345</zip>
<email>jsmith@someaddress.com</email>
<phone>555-123-4567</phone>
</billToAddress>
<card>
<type>VI</type>
<number>4000000000000002</number>
<expDate>1209</expDate>
<cardValidationNum>555</cardValidationNum>
</card>
<cardholderAuthentication>
<authenticationValue>BwABBJQ1gJDUCAAAAAAA=</authenticationValue>
<authenticationTransactionId>gMV75TmjAgk=</authenticationTransactionId>
</cardholderAuthentication>
</authorization>
</cnpOnlineRequest>
Example: Authorization Request using token Element
The example below uses the following token related elements (click name to jump to element definition): token and cnpToken.
When you submit the CVV2/CVC2/CID in a registerTokenRequest, the platform encrypts and stores the value temporarily for later use in a tokenized Auth/Sale transaction submitted without the value. To use the store value when submitting an Auth/Sale transaction, set the cardValidationNum value to 000.
<authorization id="99999" customerId="444" reportGroup="RG1">
<orderId>F12345</orderId>
<amount>15000</amount>
<orderSource>telephone</orderSource>
<billToAddress>
<name>John Doe</name>
<addressLine1>15 Main Street</addressLine1>
<city>San Jose</city>
<state>CA</state>
<zip>95032-1234</zip>
<country>USA</country>
<phone>9782750000</phone>
<email>jdoe@worldpay.com</email>
</billToAddress>
<shipToAddress>
<name>Jane Doe</name>
<addressLine1>15 Main Street</addressLine1>
<city>San Jose</city>
<state>CA</state>
<zip>95032-1234</zip>
<country>USA</country>
<phone>9782750000</phone>
<email>jdoe@worldpay.com</email>
</shipToAddress>
<token>
<cnpToken>1111000101039449</cnpToken>
<expDate>1112</expDate>
<cardValidationNum>987</cardValidationNum>
</token>
</authorization>
Example: Online Authorization Request with additionalCOFData
<cnpOnlineRequest version="12.45" xmlns="http://www.vantivcnp.com/schema" merchantId="100">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<authorization id="834262" reportGroup="ABC Division" customerId="038945">
<orderId>65347567</orderId>
<amount>40000</amount>
<orderSource>recurring</orderSource>
<billToAddress>
<name>John Smith</name>
<addressLine1>100 Main St</addressLine1>
<city>Boston</city>
<state>MA</state>
<zip>12345</zip>
<email>jsmith@someaddress.com</email>
<phone>555-123-4567</phone>
</billToAddress>
<additionalCOFData>
<totalPaymentCount>6</totalPaymentCount>
<paymentType>Fixed Amount</paymentType>
<uniqueId>123456FGH</uniqueId>
<frequencyOfMIT>Monthly</frequencyOfMIT>
<validationReference>BwABBJQ1gTRUNCATED=</validationReference>
<sequenceIndicator>3</sequenceIndicator>
</additionalCOFData>
<card>
<type>VI</type>
<number>4000000000000002</number>
<expDate>1209</expDate>
<cardValidationNum>555</cardValidationNum>
</card>
</authorization>
</cnpOnlineRequest>