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

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>