Authorize .Net Payment Integration

About Authorize.Net:

Since 1996, Authorize.Net has been a leading provider of payment gateway services, managing the submission of billions of transactions to the processing networks on behalf of merchant customers. Authorize.Net is a solution of CyberSource Corporation, a wholly owned subsidiary of Visa (NYSE: V).

Implemented Features:

FeatureLevel of Support
AuthImplemented
Sale (Auth+Capture)Implemented
CaptureImplemented
VoidImplemented
CreditImplemented
3DS 2 PassthroughImplemented
Gateway TokenizationImplemented

Authentication and Security Credentials:

Supported Parameters:

Key NameFormatMandatoryDescriptions
apiVersionNumericalRequired“1.0.1”
apiTypeAlphabeticalRequired“pxyhpci”
userNameAlphanumericRequiredAPI Username
userPassKeyAlphanumericRequiredAPI PassKey
pxyCreditCard.creditCardNumberNumericalRequiredHostedPCI Token Representing Credit Card
pxy.CreditCard.cardCodeVerificationNumericalOptionalHostedPCI Token Representing CVV Code
pxyCreditCard.expirationMonthNumericalRequiredExpiration month with 2 digits for example, for December use “12”
pxyCreditCard.expirationYearNumericalRequiredExpiration year with 4 digits for example, for 2025, use “2025”
pxyTransaction.txnCurISOAlphabeticalRequired3 letter ISO Currency Code for example, “USD” or “CAD”
pxyTransaction.txnAmountNumericalRequiredAmount to Authorize, for example for $10.50 use 10.50
pxyTransaction.merchantRefIdNumericalRequiredMerchant reference number can be order id or invoice id
pxyTransaction.txnPayNameAlphanumericRequiredHostedPCI payment profile name, for example “DEF”
pxyOrder.taxAmountNumericalOptionalTax Amount
pxyOrder.shippingAmountNumericalOptionalShipping Amount
pxyCustomerInfo.emailAlphanumericOptionalCustomer Email
pxyCustomerInfo.customerIPNumericalOptionalCustomer’s IP Address
pxyCustomerInfo.customerIdAlphanumericOptionalCustomer ID
pxyCustomerInfo.billingLocation.phoneNumberNumericalOptionalCustomer’s Phone Number
pxyCustomerInfo.billingLocation.faxNumericalOptionalFax Number
pxyCustomerInfo.billingLocation.companyNameAlphabeticalOptionalCompany Name
pxyCustomerInfo.billingLocation.firstNameAlphabeticalOptionalCustomer’s First Name
pxyCustomerInfo.billingLocation.lastNameAlphabeticalOptionalCustomer’s Last Name
pxyCustomerInfo.billingLocation.addressAlphanumericOptionalCustomer’s Billing Address
pxyCustomerInfo.billingLocation.cityAlphabeticalOptionalCustomer’s Billing City
pxyCustomerInfo.billingLocation.stateAlphabeticalOptionalCustomer’s Billing State or Province
pxyCustomerInfo.billingLocation.zipCodeNumericalOptionalCustomer’s Billing Zip Code or Postal Code
pxyCustomerInfo.billingLocation.countryAlphabeticalOptionalCustomer’s Billing Country
pxyCustomerInfo.shippingLocation.firstNameAlphabeticalOptionalCustomer’s First Name for Shipping
pxyCustomerInfo.shippingLocation.lastNameAlphabeticalOptionalCustomer’s Last Name for Shipping
pxyCustomerInfo.shippingLocation.companyNameAlphabeticalOptionalShipping Company
pxyCustomerInfo.shippingLocation.addressAlphanumericOptionalCustomer’s Shipping Address
pxyCustomerInfo.shippingLocation.cityAlphabeticalOptionalCustomer’s Shipping City
pxyCustomerInfo.shippingLocation.stateAlphabeticalOptionalCustomer’s Shipping State or Province
pxyCustomerInfo.shippingLocation.zipCodeAlphabeticalOptionalCustomer’s Shipping Zip Code or Postal Code
pxyCustomerInfo.shippingLocation.countryAlphabeticalOptionalCustomer’s Shipping Country

API Endpoint URL:

https://[HPCI_API_HOSTENAME]/iSynSApp/paymentAuth.action

API Request Body:

apiVersion=1.0.1&apiType=pxyhpci&userName=[APIuserName]&userPassKey=[APIPassKey]&pxyCreditCard.creditCardNumber=[CreditCardToken]&pxyCreditCard.cardCodeVerification=[CVVToken]&pxyCreditCard.expirationMonth=[ExpiryMonth]&pxyCreditCard.expirationYear=[ExpiryYear]&pxyTransaction.txnCurISO=[Currency]&pxyTransaction.txnAmount=[Amount]&pxyTransaction.merchantRefId=[UniqueMerchantRefID]&pxyTransaction.txnPayName=[ProfileName]&pxyTransaction.txnComment=[ShortComment]&pxyCustomerInfo.billingLocation.firstName=[CustomerFirstName]&pxyCustomerInfo.billingLocation.lastName=[CustomerLastName]&pxyCustomerInfo.billingLocation.address=[BillingStreetAddress]&pxyCustomerInfo.billingLocation.city=[BillingCity]&pxyCustomerInfo.billingLocation.state=[State/Province]&pxyCustomerInfo.billingLocation.zipCode=[ZipCode/PostalCode]&pxyCustomerInfo.billingLocation.country=[Country]&pxyCustomerInfo.shippingLocation.firstName=[ShippingFirstName]&pxyCustomerInfo.shippingLocation.lastName=[ShippingLastName]&pxyCustomerInfo.shippingLocation.address=[ShippingStreetAddress]&pxyCustomerInfo.shippingLocation.city=[ShippingCity]&pxyCustomerInfo.shippingLocation.state=[ShippingState/Province]&pxyCustomerInfo.shippingLocation.zipCode=[ShippingZipCode/PostalCode]&pxyCustomerInfo.shippingLocation.country=[ShippingCountry]

Authorize.net 3DS implementation with Cardinal Commerce

Authorize.Net has been implemented with Cardinal Commerce for 3DS pass-through Authentication.

The parameters listed on the page are required along with the mandatory AUTH transaction parameters to make a successful 3DSecure transaction.

3DS 1.0 “Verifyenroll” Call

ParametersValue
pxyThreeDSecAuth.actionNameverifyenroll
pxyTransaction.txnPayName3dsPayProfile – Name of the 3d secure payment profile.
pxyThreeDSecAuth.callModereportall- will return once 3d secure has been authenticated with credentials for second API call

3DS 1.0 “Verifyresp” call

PARAMETERSVALUE
pxyTransaction.txnPayName[3ds payment profile name]
pxyThreeDSecAuth.actionName[verifyresp]
pxyThreeDSecAuth.authCAVV[response from the first API call “pxyResponse.threeDSCAVV”]
pxyThreeDSecAuth.authTxnId[response from the first API call “pxyResponse.threeDSXid”]
pxyThreeDSecAuth.authAcsUrl[response from the first API call “pxyResponse.threeDSAcsUrl”]
pxyThreeDSecAuth.paReq[response from the first API call “pxyResponse.threeDSPARequest”]
pxyThreeDSecAuth.protocolVersion[response from the first API call “pxyResponse.threeDSProtoVersion”]
pxyThreeDSecAuth.authECI[response from the first API call “pxyResponse.threeDSECI”]

3DS 2.0 “Verifyenroll” Call

PARAMETERSVALUE
pxyTransaction.txnPayName[3ds payment profile name]
pxyThreeDSecAuth.actionName[verifyenroll]
pxyThreeDSecAuth.callModereportall
pxyThreeDSecAuth.authSessionId[cruiseSessionId returned within threeDSValuesObj in hpciSiteSuccessHandlerV4 and later versions]
pxyThreeDSecAuth.authOrderId[threeDSOrderId returned within threeDSValuesObj in hpciSiteSuccessHandlerV4 and later versions]
pxyCustomerInfo.browserUserAgentHeader[Browser User Agent Header]
pxyCustomerInfo.browserAcceptHeader[Browser Accept Header]

3DS 2.0 “verifyresp” Call

PARAMETERSVALUE
pxyTransaction.txnPayName[3ds payment profile name]
pxyThreeDSecAuth.actionName[verifyresp]
pxyThreeDSecAuth.authSessionId[cruiseSessionId returned within threeDSValuesObj in hpciSiteSuccessHandlerV4 and later versions]
pxyThreeDSecAuth.authCAVV[response from the first API call “pxyResponse.threeDSCAVV”]
pxyThreeDSecAuth.authTxnId[response from the first API call “pxyResponse.threeDSXid”]
pxyThreeDSecAuth.paReq[response from the first API call “pxyResponse.threeDSPARequest”]
pxyThreeDSecAuth.protocolVersion[response from the first API call “pxyResponse.threeDSProtoVersion”]
pxyThreeDSecAuth.authECI[response from the first API call “pxyResponse.threeDSECI”]

Authorize.net Gateway Tokenization

Parameters Required for Gateway Tokenization:
PARAMETERSVALUE
pxyCreditCard.creditCardNumber[HostedPCI Token]
pxyCreditCard.cardCodeVerification[HostedPCI CVV place holder]
pxyCreditCard.expirationMonth[Credit Card expire month]
pxyCreditCard.expirationYear[Credit Card expire year]
pxyTransaction.txnPayName[Profile Name provided by HostedPCI]
pxyCustomerInfo.billingLocation.firstName[Client’s first name as it appears on the card]
pxyCustomerInfo.billingLocation.lastName[Client’s last name as it appears on the card]
Additional Parameters Required for Auth.Net Gateway Tokenization:
PARAMETERSVALUE
pxyCustomerInfo.billingLocation.address[billingAddress]
pxyCustomerInfo.billingLocation.city[billing city]
pxyCustomerInfo.billingLocation.country[billing country]
pxyCustomerInfo.billingLocation.state[billing state]
pxyCustomerInfo.billingLocation.zipCode[billing ZIP]
pxyCustomerInfo.customerId[customerID]
pxyCustomerInfo.email[customer Email]
Authorize .Net Gateway Tokenization API Call
Request:
pxyCreditCard.creditCardNumber=4444000015201111&pxyCustomerInfo.billingLocation.city=Lakewood&userPassKey=[APIPasskey]&pxyCreditCard.expirationMonth=09&pxyCustomerInfo.customerId=14105-110000002&userName=[APIUsername]&pxyCreditCard.cardCodeVerification=200&pxyTransaction.txnPayName=DEF&pxyCustomerInfo.billingLocation.zipCode=80228&pxyCustomerInfo.email=null%40brandwise.com&apiVersion=1.0.1&pxyCreditCard.expirationYear=2022&pxyCustomerInfo.billingLocation.lastName=Paul&pxyCustomerInfo.billingLocation.firstName=Test&pxyCustomerInfo.billingLocation.state=CO&pxyCustomerInfo.billingLocation.address=12596++West+Bayaud+Ave&apiType=pxyhpci&pxyCustomerInfo.billingLocation.country=United+States
Response:
status=success&operId=&tokenId=583653439&mappedCC=4444000015201111&ccBIN=&pxyResponse.threeDSEnrolled=&pxyResponse.threeDSAcsUrl=&pxyResponse.threeDSErrorDesc=&pxyResponse.processorRefId=hpci-3378370464775&pxyResponse.processorType=anetResponse&pxyResponse.threeDSMessageId=&pxyResponse.threeDSSessionId=&pxyResponse.cardOnFileIssuerId=&pxyResponse.mappedParams=txnResponse.ccTypeEst%3DVISA&pxyResponse.threeDSARS=&pxyResponse.threeDSOrderId=&pxyResponse.gatewayToken.status=&pxyResponse.responseStatus.name=approved&pxyResponse.responseAVS2=&pxyResponse.responseStatus=approved&pxyResponse.gatewayToken=1516360471_TKNSEP_1514483575&pxyResponse.responseAVS1=&pxyResponse.responseAVS4=&pxyResponse.responseStatus.description=Successful.&pxyResponse.threeDSCAVV=&pxyResponse.responseAVS3=&pxyResponse.gatewayToken.fullNativeResp=&pxyResponse.threeDSXid=&pxyResponse.threeDSProtoVersion=&pxyResponse.responseStatus.reasonCode=&pxyResponse.threeDSPARequest=&pxyResponse.responseCVV1=&pxyResponse.threeDSECI=&pxyResponse.responseCVV2=&pxyResponse.fullNativeResp=%5B1%2C1%2C1%2CThis+transaction+has+been+approved.%2CAIIVUM%2CY%2C40056403397%2Cnone%2CTest+transaction+for+ValidateCustomerPaymentProfile.%2C0.00%2CCC%2Cauth_only%2C14105-110000002%2CTest%2CPaul%2C%2C12596+%26nbsp%3BWest+Bayaud+Ave%2CLakewood%2CCO%2C80228%2CUnited+States%2C%2C%2Cnull%40brandwise.com%2C%2C%2C%2C%2C%2C%2C%2C%2C0.00%2C0.00%2C0.00%2CFALSE%2Cnone%2C%2CP%2C2%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2CXXXX1111%2CVisa%2C%2C%2C%2C%2C%2C%2C0UTM30HTGJV72DOA7R6TTKO%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%5D&pxyResponse.threeDSAcsPageData=&pxyResponse.gatewaySubToken2=1514483575&pxyResponse.threeDSTransactionId=&pxyResponse.gatewaySubToken1=1516360471&pxyResponse.gatewaySubToken3=&pxyResponse.merchantRefId=hpci-3378370464775&pxyResponse.threeDSErrorId=&pxyResponse.txnPayName=DEF&pxyResponse.responseStatus.code=I00001&pxyResponse.threeDSSRS=