Authorization Service

You can authorize a payment for Samsung Pay using two different types of decryption methods:
Cybersource
or Merchant. Each decryption method requires a different set of required API fields. In addition, depending on which card type is used, different fields are required for requesting the authorization service.
Processor-Specific Information About Authorizations and Captures
Payment Processor
Authorization and Capture Information
Visa Platform Connect
Visa Platform Connect
limits authorization and capture amounts to 999999999999 (twelve 9s).

Required Fields for Authorizing a Payment Using American Express and the
Cybersource
Decryption Method

The following fields are required when submitting an authorization request using the
Cybersource
decryption method:
  • ccAuthService_commerceIndicator
    -set this field to
    aesk
    .
  • encryptedPayment_data
    • Set the field to the value that was returned from Samsung Pay in the
      3ds.data
      block as follows:
      • Retrieve the payment data from Samsung Pay in JSON Web Encryption (JWE) format.
      • Encode it in Base64.
      • Add the value to the
        encryptedPayment_data
        field.
  • encryptedPayment_descriptor
    -set this field to
    RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=
    .
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .

Authorizing a Payment

  1. Request the service. Set the
    ccAuthService_run
    field to
    true
    , and send the request to one of these endpoints:
  2. Include the required fields in the request.
  3. Include optional fields in the request as needed.
  4. Check the response message to make sure that the request was successful. A value of
    ACCEPT
    for the
    decision
    field indicates success. For information about reason codes, see Reason Codes for the Simple Order API.

Example:
Cybersource
Decryption with American Express Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <ccAuthService run="true"> <commerceIndicator>aesk</commerceIndicator> </ccAuthService> <encryptedPayment> <data>ABCDEFabcdefABCDEFabcdef0987654321234567</data> <descriptor>RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=</descriptor> </encryptedPayment> <paymentSolution>008</paymentSolution> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>V</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> <c:token> <c:prefix>593056</c:prefix> <c:suffix>0842</c:suffix> <c:expirationMonth>08</c:expirationMonth> <c:expirationYear>2021</c:expirationYear> </c:token> </c:replyMessage>

Required Fields for Authorizing a Payment Using American Express and the Merchant Decryption Method

The following fields are required when submitting an authorization request using the Merchant decryption method:
  • ccAuthService_cavv
    -set this field to the 3-D Secure cryptogram of the payment network token.
    Include the whole 20-byte cryptogram in the cavv field. For a 40-byte cryptogram, split the cryptogram into two 20-byte binary values (block A and block B). Set the cavv field to the block A value and set the xid field to the block B value.
  • card_accountNumber
    -set this field to the payment network token value.
  • card_expirationMonth
    -set this field to the payment network token expiration month value.
  • card_expirationYear
    -set this field to the payment network token expiration year value.
  • ccAuthService_commerceIndicator
    -set this field to
    aesk
    .
  • ccAuthService_networkTokenCryptogram
    -set this field to the network token cryptogram.
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .

Example: Merchant Decryption with American Express Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <card> <accountNumber>xxxx8224631xxxx</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2020</expirationYear> </card> <ccAuthService run="true"> <cavv>ABCDEFabcdefABCDEFabcdef0987654321234567</cavv> <commerceIndicator>aesk</commerceIndicator> <xid>1234567890987654321ABCDEFabcdefABCDEF123</xid> </ccAuthService> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> <paymentSolution>008</paymentSolution> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>V</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> </c:replyMessage>

Authorizing a Payment with JCB Using
Cybersource
Decryption Method

Required Fields for Authorizing a Payment Using JCB and the
Cybersource
Decryption Method

The following fields are required when submitting an authorization request using the
Cybersource
decryption method:
  • encryptedPayment_data
    -set this field to the Base64-encoded value obtained from the
    paymentData
    property of the
    PKPaymentToken
    object.
  • encryptedPayment_descriptor
    -set this field to
    RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=
    .
  • paymentSolution
    -set this field to
    008
    .

Authorizing a Payment

  1. Request the service. Set the
    ccAuthService_run
    field to
    true
    , and send the request to one of these endpoints:
  2. Include the required fields in the request.
  3. Include optional fields in the request as needed.
  4. Check the response message to make sure that the request was successful. A value of
    ACCEPT
    for the
    decision
    field indicates success. For information about reason codes, see Reason Codes for the Simple Order API.

Example:
Cybersource
Decryption with JCB Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>Jane</firstName> <lastName>Smith</lastName> <street1>123 Main Street</street1> <city>Small Town</city> <state>CA</state> <postalCode>98765</postalCode> <country>US</country> <email>jsmith@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <encryptedPayment> <descriptor>RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=</descriptor> <data>ABCDEFabcdefABCDEFabcdef0987654321234567</data> <encoding>Base64</encoding> </encryptedPayment> <card> <cardType>007</cardType> </card> <ccAuthService run="true"/> <paymentSolution>008</paymentSolution> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:token> <c:expirationMonth>07</c:expirationMonth> <c:expirationYear>2025</c:expirationYear> <c:prefix>239845</c:prefix> <c:suffix>2947</c:suffix> </c:token> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> </c:replyMessage>

Required Fields for Authorizing a Payment Using Mastercard and the
Cybersource
Decryption Method

The following fields are required when submitting an authorization request using the
Cybersource
decryption method:
  • ccAuthService_commerceIndicator
    -set this field to
    spa
    .
  • encryptedPayment_data
    • Set the field to the value that was returned from Samsung Pay in the
      3ds.data
      block as follows:
      • Retrieve the payment data from Samsung Pay in JSON Web Encryption (JWE) format.
      • Encode it in Base64.
      • Add the value to the
        encryptedPayment_data
        field.
  • encryptedPayment_descriptor
    -set this field to
    RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=
    .
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .

Example:
Cybersource
Decryption with Mastercard Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <ccAuthService run="true"> <commerceIndicator>spa</commerceIndicator> </ccAuthService> <encryptedPayment> <data>ABCDEFabcdefABCDEFabcdef0987654321234567</data> <descriptor>RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=</descriptor> </encryptedPayment> <paymentSolution>008</paymentSolution> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> <c:token> <c:prefix>128945</c:prefix> <c:suffix>2398</c:suffix> <c:expirationMonth>08</c:expirationMonth> <c:expirationYear>2021</c:expirationYear> </c:token> </c:replyMessage>

Required Fields for Authorizing a Payment Using Visa and the
Cybersource
Decryption Method

The following fields are required when submitting an authorization request using the
Cybersource
decryption method:
  • ccAuthService_commerceIndicator
    -set this field to
    internet
    .
  • encryptedPayment_data
    • Set the field to the value that was returned from Samsung Pay in the
      3ds.data
      block as follows:
      • Retrieve the payment data from Samsung Pay in JSON Web Encryption (JWE) format.
      • Encode it in Base64.
      • Add the value to the
        encryptedPayment_data
        field.
  • encryptedPayment_descriptor
    -set this field to
    RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=
    .
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .

Example:
Cybersource
Decryption with Visa Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <ccAuthService run="true"> <commerceIndicator>internet</commerceIndicator> </ccAuthService> <encryptedPayment> <data>ABCDEFabcdefABCDEFabcdef0987654321234567</data> <descriptor>RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=</descriptor> </encryptedPayment> <paymentSolution>008</paymentSolution> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> <c:token> <c:prefix>294672</c:prefix> <c:suffix>4397</c:suffix> <c:expirationMonth>08</c:expirationMonth> <c:expirationYear>2021</c:expirationYear> </c:token> </c:replyMessage>

Authorizing a Payment with JCB Using Merchant Decryption Method

Required Fields for Authorizing a Payment Using JCB and the Merchant Decryption Method

The following fields are required when submitting an authorization request using the Merchant decryption method:
  • ccAuthService_cavv
    -set this field to the 3-D Secure cryptogram of the payment network token.
  • card_accountNumber
    -set this field to the payment network token value.
  • card_expirationMonth
    -set this field to the payment network token expiration month value.
  • card_expirationYear
    -set this field to the payment network token expiration year value.
  • ccAuthService_eciRaw
    -set this field to the ECI value contained in the Samsung Pay reply message.
  • ccAuthService_networkTokenCryptogram
    -set this field to the network token cryptogram.
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .

Example: Merchant Decryption with JCB Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>Jane</firstName> <lastName>Smith</lastName> <street1>123 Main Street</street1> <city>Small Town</city> <state>CA</state> <postalCode>98765</postalCode> <country>US</country> <email>jsmith@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <card> <accountNumber>xxxx11111111xxxx</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2020</expirationYear> <cvNumber>123</cvNumber> <cardType>007</cardType> </card> <ccAuthService run="true"> <cavv>ABCDEFabcdefABCDEFabcdef0987654321234567</cavv> <eciRaw>5</eciRaw> </ccAuthService> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> <paymentSolution>008</paymentSolution> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> </c:replyMessage>
NVP Request
merchantID=demomerchant merchantReferenceCode=demorefnum billTo_firstName=Jane billTo_lastName=Smith billTo_street1=123 Main Street billTo_city=Small Town billTo_state=CA billTo_postalCode=98765 billTo_country=US billTo_email=jsmith@example.com purchaseTotals_currency=USD purchastTotals_grandTotalAmount=5.00 card_accountNumber=xxxx00202036xxxx card_expirationYear=2020 card_cvnNumber=123 cardType=007 ccAuthService_cavv=ABCDEFabcdefABCDEFabcdef0987654321234567 ccAuthService_eciRaw=5
paymentNetworkToken_requestorID=987654321plokijuhygtfrdeswa
paymentNetworkToken_transactionType=1 paymentSolution=008
NVP Response
merchantReferenceCode=demorefnum requestID=4465840340765000001541 decision=accept reasonCode=100 requestToken=Ahj/7wSR5C/4Icd2fdAKakGLadfg5535r/ghx3Z90AoBj3u purchaseTotals_currency=USD ccAuthReply_reasonCode=100 ccAuthReply_amount=5.00 ccAuthReply_authorizationCode=888888 ccAuthReply_avsCode=X ccAuthReply_avsCodeRaw=I1 ccAuthReply_authorizedDateTime=2015-11-03T20:53:54Z ccAuthReply_processorResponse=100 ccAuthReply_reconciliationID=11267051CGJSMQDC

Required Fields for Authorizing a Payment Using Mastercard and the Merchant Decryption Method

The following fields are required when submitting an authorization request using the Merchant decryption method:
  • card_accountNumber
    -set this field to the payment network token value.
  • card_expirationMonth
    -set this field to the payment network token expiration month value.
  • card_expirationYear
    -set this field to the payment network token expiration year value.
  • ccAuthService_commerceIndicator
    - set this field to
    spa
    .
  • ccAuthService_networkTokenCryptogram
    -set this field to the network token cryptogram.
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .
  • ucaf_authenticationData
    –set this field to the 3-D Secure cryptogram of the payment network token.
  • ucaf_collectionIndicator
    -set this field to
    2
    .

Example: Merchant Decryption with Mastercard Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <card> <accountNumber>xxxx55555555xxxx</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2020</expirationYear> </card> <ucaf> <authenticationData>ABCDEFabcdefABCDscdef0987654321234567</authenticationData> <collectionIndicator>2</collectionIndicator> </ucaf> <ccAuthService run="true"> <commerceIndicator>spa</commerceIndicator> </ccAuthService> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> <paymentSolution>008</paymentSolution> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> </c:replyMessage>

Authorizing a Payment with Visa Using Merchant Decryption Method

Required Fields for Authorizing a Payment Using Visa and the Merchant Decryption Method

The following fields are required when submitting an authorization request using the Merchant decryption method:
  • ccAuthService_cavv
    -set this field to the 3-D Secure cryptogram of the payment network token.
  • card_accountNumber
    -set this field to the payment network token value.
  • card_expirationMonth
    -set this field to the payment network token expiration month value.
  • card_expirationYear
    -set this field to the payment network token expiration year value.
  • ccAuthService_eciRaw
    -for JCB transactions, set this field to the ECI value contained in the Samsung Pay reply message.
  • ccAuthService_commerceIndicator
    -set this field to
    internet
    .
  • ccAuthService_networkTokenCryptogram
    -set this field to the network token cryptogram.
  • paymentNetworkToken_transactionType
    -set this field to
    1
    .
  • paymentSolution
    -set this field to
    008
    .

Example: Merchant Decryption with Visa Using the Simple Order API

Authorization Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <card> <accountNumber>xxxx10000000xxxx</accountNumber> <expirationMonth>12</expirationMonth> <expirationYear>2020</expirationYear> </card> <ccAuthService run="true"> <cavv>ABCDEFabcdefABCDEFabcdef0987654321234567</cavv> <commerceIndicator>internet</commerceIndicator> </ccAuthService> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> <paymentSolution>008</paymentSolution> </requestMessage>
Authorization Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>X</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> </c:replyMessage>

Authorization Reversal Service

The authorization reversal service is a follow-on service that uses the request ID returned from the previous authorization. An authorization reversal releases the hold that the authorization placed on the customer’s credit card funds. Use this service to reverse an unnecessary or undesired authorization.
Processor-Specific Information About Authorization Reversals
Payment Processor
Authorization Reversal Information
Visa Platform Connect
Card types supported for full authorization reversals: American Express, China UnionPay, Diners Club, Discover, JCB, mada, Mastercard, Visa.

NVP Example: Basic Credit Card Authorization Reversal Using the Simple Order API

Authorization Reversal Request
ccAuthReversalService_authRequestID=6152173358406291304007 purchaseTotals_currency=USD purchaseTotals_grandTotalAmount=99.49 ccAuthReversalService_run=true merchantID=retail_910 merchantReferenceCode=MS299131501003 paymentSolution=008
Authorization Reversal Response
merchantReferenceCode=MS299131501003 requestID=1019827520348290570293 purchaseTotals_currency=USD ccAuthReversalReply_amount=99.49 ccAuthReversalReply_authorizationCode=1

Required Fields for Reversing an Authorization

The following fields are required when creating an authorization reversal request:
ccAuthReversalService_authRequestID
Set to the request ID that was included in the authorization reply message.
ccAuthReversalService_run
Set to
true
.
merchantID
merchantReferenceCode
paymentSolution
Set to
008
.
purchaseTotals_currency
purchaseTotals_grandTotalAmount
Either
purchaseTotals_grandTotalAmount
or
item_#_unitPrice
must be included in the request.

Reversing an Authorization

  1. Request the service. Set the
    ccAuthReversalService_run
    field to
    true
    , and send the request to one of these endpoints:
    • https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
    • https://ics2wsa.ic3.com/commerce/1.x/transactionProcessor
  2. Check the response message to make sure that the request was successful. A value of
    ACCEPT
    for the
    decision
    field indicates success. For information about reason codes, see Reason Codes for the Simple Order API.

XML Example: Basic Credit Card Authorization Reversal Using the Simple Order API

Authorization Reversal Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>retail_910</merchantID> <merchantReferenceCode>MS299131501003</merchantReferenceCode> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>99.49</grandTotalAmount> </purchaseTotals> <ccAuthReversalService run="true"> <authRequestID>6152173358406291304007</authRequestID> </ccAuthReversalService> <paymentSolution>008</paymentSolution> </requestMessage>
Authorization Reversal Response
<c:replyMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <c:merchantReferenceCode>MS299131501003</c:merchantReferenceCode> <c:requestID>1019827520348290570293</c:requestID> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReversalReply> <c:amount>99.49</c:amount> <c:authorizationCode>1</c:authorizationCode> </c:ccAuthReversalReply> </c:replyMessage>

Capture Service

The capture service is a follow-on service that uses the request ID returned from the previous authorization. The request ID links the capture to the authorization. This service transfers funds from the customer’s account to your bank and usually takes two to four days to complete.
Processor-Specific Information About Authorizations and Captures
Payment Processor
Authorization and Capture Information
Visa Platform Connect
Visa Platform Connect
limits authorization and capture amounts to 999999999999 (twelve 9s).

NVP Example: Basic Credit Card Capture Using the Simple Order API

Capture Request
ccCaptureService_authRequestID=0305782650000167905080 merchantID=Napa Valley Vacations merchantRefrenceCode=482046C3A7E94F5BD1FE3C66C ccCaptureService_run=true item_0_unitPrice=amount:49.95 purchaseTotals_currency=USD paymentSolution=008
Capture Response
requestID=1019827520348290570293 merchantReferenceCode=482046C3A7E94F5BD1FE3C66C decision=ACCEPT reasonCode=100 purchaseTotals_currency=USD ccCaptureReply_amount=49.95 ccCaptureReply_reasonCode=100 ccCaptureReply_reconciliationID=02850840187309570

Required Fields for Capturing a Payment

The following fields are required when creating a capture request:
ccCaptureService_authRequestID
Set to the request ID that was included in the authorization reply message. Optional when
ccAuthService
and
ccCaptureService
are in the same request.
ccCaptureService_run
Set to
true
.
merchantID
merchantReferenceCode
paymentSolution
Set to
008
.
purchaseTotals_currency
purchaseTotals_grandTotalAmount
Either
purchaseTotals_grandTotalAmount
or
item_#_unitPrice
must be included in the request.

Capturing a Payment

  1. Request the service. Set the
    ics_applications
    field to
    ics_bill
    , and send the request to one of these endpoints:
    • https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
    • https://ics2wsa.ic3.com/commerce/1.x/transactionProcessor
  2. Check the response message to make sure that the request was successful. A value of
    ACCEPT
    for the
    decision
    field indicates success. For information about reason codes, see Reason Codes for the Simple Order API.

XML Example: Basic Credit Card Capture Using the Simple Order API

Capture Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.37"> <merchantID>Napa Valley Vacations</merchantID> <merchantReferenceCode>482046C3A7E94F5BD1FE3C66C</merchantReferenceCode> <item id="0"> <unitPrice>49.95</unitPrice> <quantity>1</quantity> </item> <purchaseTotals> <currency>USD</currency> </purchaseTotals> <ccCaptureService run="true"> <authRequestID>0305782650000167905080</authRequestID> </ccCaptureService> <paymentSolution>008</paymentSolution> </requestMessage>
Capture Response
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.37"> <c:merchantReferenceCode>482046C3A7E94F5BD1FE3C66C</c:merchantReferenceCode> <c:requestID>1019827520348290570293</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccCaptureReply> <c:reasonCode>100</c:reasonCode> <c:amount>49.95</c:amount> <c:reconciliationID>1094820975023470</c:reconciliationID> </c:ccCaptureReply> </c:replyMessage>

Sale Service

A sale is a bundled authorization and capture. Request the authorization and capture services at the same time.
Cybersource
processes the capture immediately.

NVP Example: Basic Credit Card Sale Using the Simple Order API

Authorization and Capture (Sale) Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <commerceIndicator>aesk</commerceIndicator> </ccCaptureService> <encryptedPayment> <data>ABCDEFabcdefABCDEFabcdef0987654321234567</data> <descriptor>RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=</descriptor> </encryptedPayment> <paymentSolution>008</paymentSolution> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> </requestMessage>
Authorization and Capture (Sale) Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>V</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> <c:ccCaptureReply> <c:reconciliationID>02850840187309570</c:reconciliationID> <c:amount>100.00</c:amount> </c:ccCaptureReply> <c:token> <c:prefix>593056</c:prefix> <c:suffix>0842</c:suffix> <c:expirationMonth>08</c:expirationMonth> <c:expirationYear>2021</c:expirationYear> </c:token> </c:replyMessage>

Required Fields for Performing a Sale

The following fields are required when submitting a sale request:
ccCaptureService_run
Set this field to
true
.
Fields required for requesting the authorization service
Use the same values that are set for requesting the Authorization Service.

Authorizing and Capturing a Payment

You can authorize and capture a payment at the same time, which is known as performing a sale.
  1. Request the service. Set the
    ics_applications
    field to
    ics_auth,ics_bill
    , and send the request to one of these internet endpoints:
    • https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
    • https://ics2wsa.ic3.com/commerce/1.x/transactionProcessor
  2. Check the response message to make sure that the request was successful. A value of
    ACCEPT
    for the
    decision
    field indicates success. For information about reason codes, see Reason Codes for the Simple Order API.

XML Example: Basic Credit Card Sale Using the Simple Order API

Authorization and Capture (Sale) Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.121"> <merchantID>demomerchant</merchantID> <merchantReferenceCode>demorefnum</merchantReferenceCode> <billTo> <firstName>James</firstName> <lastName>Smith</lastName> <street1>1295 Charleston Road</street1> <city>Test City</city> <state>CA</state> <postalCode>99999</postalCode> <country>US</country> <email>demo@example.com</email> </billTo> <purchaseTotals> <currency>USD</currency> <grandTotalAmount>5.00</grandTotalAmount> </purchaseTotals> <ccCaptureService run="true"> <commerceIndicator>aesk</commerceIndicator> </ccCaptureService> <encryptedPayment> <data>ABCDEFabcdefABCDEFabcdef0987654321234567</data> <descriptor>RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=</descriptor> </encryptedPayment> <paymentSolution>008</paymentSolution> <paymentNetworkToken> <transactionType>1</transactionType> </paymentNetworkToken> </requestMessage>
Authorization and Capture (Sale) Response
<c:replyMessage> <c:merchantReferenceCode>demorefnum</c:merchantReferenceCode> <c:requestID>4465840340765000001541</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>USD</c:currency> </c:purchaseTotals> <c:ccAuthReply> <c:reasonCode>100</c:reasonCode> <c:amount>5.00</c:amount> <c:authorizationCode>888888</c:authorizationCode> <c:avsCode>V</c:avsCode> <c:avsCodeRaw>I1</c:avsCodeRaw> <c:authorizedDateTime>2015-11-03T20:53:54Z</c:authorizedDateTime> <c:processorResponse>100</c:processorResponse> <c:reconciliationID>11267051CGJSMQDC</c:reconciliationID> </c:ccAuthReply> <c:ccCaptureReply> <c:reconciliationID>02850840187309570</c:reconciliationID> <c:amount>100.00</c:amount> </c:ccCaptureReply> <c:token> <c:prefix>593056</c:prefix> <c:suffix>0842</c:suffix> <c:expirationMonth>08</c:expirationMonth> <c:expirationYear>2021</c:expirationYear> </c:token> </c:replyMessage>