------------------*****-********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************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>

  <customerInfo>

<sellerInfo>

  <billToAddress>

  <shipToAddress>

<retailerAddress>

<additionalCOFData>

[ <card> | <paypal> | <paypage> | <token> | <mpos> | <applepay>]

  <cardholderAuthentication>

  <processingInstructions>

  <pos>

  <customBilling>

  <taxType>payment or fee</taxType>

  <enhancedData>

  <allowPartialAuth>

  <healthcareIIAS>

  <lodgingInfo>

  <filtering>

  <merchantData>

  <recyclingRequest> (for Recovery merchants using Recycling)

  <fraudFilterOverride>

  <recurringRequest > (for Recurring Engine merchants)

  <debtRepayment>true or false</debtRepayment>

  <advancedFraudChecks>

  <wallet>

  <processingType>processing type enum</processingType>

  <originalNetworkTransactionId>Network Txn Id Value</originalNetworkTransactionId>

  <originalTransactionAmount>Amount from Orig Txn</originalTransactionAmount>

  <pinlessDebitRequest>

  <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)

<passengerTransportData>

<authIndicator>Estimated</authIndicator>

<accountFundingTransactionData>

<fraudCheckAction>Enum Value</fraudCheckAction>

<typeOfDigitalCurrency>Type value</typeOfDigitalCurrency>

<conversionAffiliateId>Conversion Affiliate Id value</conversionAffiliateId>

<identityBundle>

<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>