Authorize .Net
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:
| Feature | Level of Support |
|---|---|
| Auth | Implemented |
| Sale (Auth+Capture) | Implemented |
| Capture | Implemented |
| Void | Implemented |
| Credit | Implemented |
| 3DS 2 Passthrough | Implemented |
| Gateway Tokenization | Implemented |
Authentication and Security Credentials:
- Login ID
- Transaction Key
Supported Parameters:
| Key Name | Format | Mandatory | Descriptions |
|---|---|---|---|
| apiVersion | Numerical | Required | “1.0.1” |
| apiType | Alphabetical | Required | “pxyhpci” |
| userName | Alphanumeric | Required | API Username |
| userPassKey | Alphanumeric | Required | API PassKey |
| pxyCreditCard.creditCardNumber | Numerical | Required | HostedPCI Token Representing Credit Card |
| pxy.CreditCard.cardCodeVerification | Numerical | Optional | HostedPCI Token Representing CVV Code |
| pxyCreditCard.expirationMonth | Numerical | Required | Expiration month with 2 digits for example, for December use “12” |
| pxyCreditCard.expirationYear | Numerical | Required | Expiration year with 4 digits for example, for 2025, use “2025” |
| pxyTransaction.txnCurISO | Alphabetical | Required | 3 letter ISO Currency Code for example, “USD” or “CAD” |
| pxyTransaction.txnAmount | Numerical | Required | Amount to Authorize, for example for $10.50 use 10.50 |
| pxyTransaction.merchantRefId | Numerical | Required | Merchant reference number can be order id or invoice id |
| pxyTransaction.txnPayName | Alphanumeric | Required | HostedPCI payment profile name, for example “DEF” |
| pxyOrder.taxAmount | Numerical | Optional | Tax Amount |
| pxyOrder.shippingAmount | Numerical | Optional | Shipping Amount |
| pxyCustomerInfo.email | Alphanumeric | Optional | Customer Email |
| pxyCustomerInfo.customerIP | Numerical | Optional | Customer’s IP Address |
| pxyCustomerInfo.customerId | Alphanumeric | Optional | Customer ID |
| pxyCustomerInfo.billingLocation.phoneNumber | Numerical | Optional | Customer’s Phone Number |
| pxyCustomerInfo.billingLocation.fax | Numerical | Optional | Fax Number |
| pxyCustomerInfo.billingLocation.companyName | Alphabetical | Optional | Company Name |
| pxyCustomerInfo.billingLocation.firstName | Alphabetical | Optional | Customer’s First Name |
| pxyCustomerInfo.billingLocation.lastName | Alphabetical | Optional | Customer’s Last Name |
| pxyCustomerInfo.billingLocation.address | Alphanumeric | Optional | Customer’s Billing Address |
| pxyCustomerInfo.billingLocation.city | Alphabetical | Optional | Customer’s Billing City |
| pxyCustomerInfo.billingLocation.state | Alphabetical | Optional | Customer’s Billing State or Province |
| pxyCustomerInfo.billingLocation.zipCode | Numerical | Optional | Customer’s Billing Zip Code or Postal Code |
| pxyCustomerInfo.billingLocation.country | Alphabetical | Optional | Customer’s Billing Country |
| pxyCustomerInfo.shippingLocation.firstName | Alphabetical | Optional | Customer’s First Name for Shipping |
| pxyCustomerInfo.shippingLocation.lastName | Alphabetical | Optional | Customer’s Last Name for Shipping |
| pxyCustomerInfo.shippingLocation.companyName | Alphabetical | Optional | Shipping Company |
| pxyCustomerInfo.shippingLocation.address | Alphanumeric | Optional | Customer’s Shipping Address |
| pxyCustomerInfo.shippingLocation.city | Alphabetical | Optional | Customer’s Shipping City |
| pxyCustomerInfo.shippingLocation.state | Alphabetical | Optional | Customer’s Shipping State or Province |
| pxyCustomerInfo.shippingLocation.zipCode | Alphabetical | Optional | Customer’s Shipping Zip Code or Postal Code |
| pxyCustomerInfo.shippingLocation.country | Alphabetical | Optional | Customer’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
Parameters |
Value |
| pxyThreeDSecAuth.actionName | verifyenroll |
| pxyTransaction.txnPayName | 3dsPayProfile – Name of the 3d secure payment profile. |
| pxyThreeDSecAuth.callMode | reportall- will return once 3d secure has been authenticated with credentials for second API call |
3DS 1.0 “Verifyresp” call
| PARAMETERS | VALUE |
|---|---|
| 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
| PARAMETERS | VALUE |
|---|---|
| pxyTransaction.txnPayName | [3ds payment profile name] |
| pxyThreeDSecAuth.actionName | [verifyenroll] |
| pxyThreeDSecAuth.callMode | reportall |
| 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
| PARAMETERS | VALUE |
|---|---|
| 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:
| PARAMETERS | VALUE |
|---|---|
| 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:
| PARAMETERS | VALUE |
|---|---|
| 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=

