OnlineAPI


Click here for a complete list of operations.

Payment_TokenizedVerifyResponse_Cybersource

This method will verify the integrity of the information being returned, as a result of a payment request/result of Cybersource hosted payment pages. If OnlineAPI:Payment_TokenizedRequest_Cybersource method is used to generate the redirection parameter needed to connect to Cybersource hosted payment pages, a payment result from Cybersource is received. This method is used to verify these Payment Result parameters when the shopper returns to their original site. Freedom will use the HMAC algorithm along with the Secret key to calculate the correct signature of the input parameters and will compare the result with Signature input parameter. If those values match, this method will return a success response. If a mismatch is detected in these values, this method will return a HMAC_VALIDATION_FAILED message. If the TokenizedPaymentAccontID input parameter is NOT set, this method will use the entered online order # for assigning the correct tokenized payment account based on the Online Order Territory.
Optionally, SignatureString input parameter can be used to send the formatted chain of characters to be verified. When SignatureString is sent, then only Signature field is required and TokenizedPaymentAccontID is still optional.
SignatureString parameter must follow Cybersource's specification which is:
- Concatenate the field's name and values received from Cybersource with the format: FieldName1=FieldValue1
- Use a comma (",") to delimit the pairs.
- Only fields contained in signed_field_names field sent by Cybersource must be send in SignatureString.

Test

The test form is only available for requests from the local machine.

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /adapturedemo/webservice/OnlineAPI.asmx HTTP/1.1
Host: api.securefreedom.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.securefreedom.com/Payment_TokenizedVerifyResponse_Cybersource"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Payment_TokenizedVerifyResponse_Cybersource xmlns="http://www.securefreedom.com/">
      <Credentials>
        <Username>string</Username>
        <Password>string</Password>
        <Token>string</Token>
      </Credentials>
      <Request>
        <TokenizedPaymentAccountID>int</TokenizedPaymentAccountID>
        <OnlineOrderID>int</OnlineOrderID>
        <CyberSourceResponse>
          <TransactionId>string</TransactionId>
          <Decision>string</Decision>
          <RequestAccessKey>string</RequestAccessKey>
          <RequestProfileID>string</RequestProfileID>
          <RequestTransactionUniqueID>string</RequestTransactionUniqueID>
          <RequestTransactionType>string</RequestTransactionType>
          <RequestReferenceNumber>string</RequestReferenceNumber>
          <RequestLocale>string</RequestLocale>
          <RequestCurrency>string</RequestCurrency>
          <RequestAmount>string</RequestAmount>
          <RequestPaymentMethod>string</RequestPaymentMethod>
          <RequestBillToForename>string</RequestBillToForename>
          <RequestBillToSurename>string</RequestBillToSurename>
          <RequestBillToEmail>string</RequestBillToEmail>
          <RequestBillToPhone>string</RequestBillToPhone>
          <RequestBillToLine1>string</RequestBillToLine1>
          <RequestBillToState>string</RequestBillToState>
          <RequestBillToCity>string</RequestBillToCity>
          <RequestBillToCountry>string</RequestBillToCountry>
          <RequestCardType>string</RequestCardType>
          <RequestCardNumber>string</RequestCardNumber>
          <RequestCardExpiryDate>string</RequestCardExpiryDate>
          <RequestCardCVN>string</RequestCardCVN>
          <RequestToken>string</RequestToken>
          <Message>string</Message>
          <ReasonCode>string</ReasonCode>
          <AuthAVSCode>string</AuthAVSCode>
          <AuthAVSCodeRaw>string</AuthAVSCodeRaw>
          <AuthResponse>string</AuthResponse>
          <AuthAmount>string</AuthAmount>
          <AuthCode>string</AuthCode>
          <AuthCVResult>string</AuthCVResult>
          <AuthCVResultRaw>string</AuthCVResultRaw>
          <AuthTransReferenceNumber>string</AuthTransReferenceNumber>
          <BillTransReferenceNumber>string</BillTransReferenceNumber>
          <AuthTime>string</AuthTime>
          <PayerAuthenticationXID>string</PayerAuthenticationXID>
          <PayerAuthenticationProofXml>string</PayerAuthenticationProofXml>
          <PayerAuthenticationEci>string</PayerAuthenticationEci>
          <PayerAuthenticationCavv>string</PayerAuthenticationCavv>
          <PayerAuthenticationReasonCode>string</PayerAuthenticationReasonCode>
          <PayerAuthenticationEnrollECommerceIndicator>string</PayerAuthenticationEnrollECommerceIndicator>
          <PayerAuthenticationEnrollVeresEnrolled>string</PayerAuthenticationEnrollVeresEnrolled>
          <PayerAuthenticationUCI>string</PayerAuthenticationUCI>
          <PayerAuthenticationParesStatus>string</PayerAuthenticationParesStatus>
          <PayerAuthenticationValidateResult>string</PayerAuthenticationValidateResult>
          <PayerAuthenticationValidateECommerceIndicator>string</PayerAuthenticationValidateECommerceIndicator>
          <PayerAuthenticationUAD>string</PayerAuthenticationUAD>
          <PaymentToken>string</PaymentToken>
          <SignedFieldNames>string</SignedFieldNames>
          <UnsignedFieldNames>string</UnsignedFieldNames>
          <SignedDateTime>string</SignedDateTime>
          <Signature>string</Signature>
          <SignatureString>string</SignatureString>
        </CyberSourceResponse>
      </Request>
    </Payment_TokenizedVerifyResponse_Cybersource>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Payment_TokenizedVerifyResponse_CybersourceResponse xmlns="http://www.securefreedom.com/">
      <Payment_TokenizedVerifyResponse_CybersourceResult>
        <RequestID>int</RequestID>
        <Success>int</Success>
        <Message>string</Message>
      </Payment_TokenizedVerifyResponse_CybersourceResult>
    </Payment_TokenizedVerifyResponse_CybersourceResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /adapturedemo/webservice/OnlineAPI.asmx HTTP/1.1
Host: api.securefreedom.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <Payment_TokenizedVerifyResponse_Cybersource xmlns="http://www.securefreedom.com/">
      <Credentials>
        <Username>string</Username>
        <Password>string</Password>
        <Token>string</Token>
      </Credentials>
      <Request>
        <TokenizedPaymentAccountID>int</TokenizedPaymentAccountID>
        <OnlineOrderID>int</OnlineOrderID>
        <CyberSourceResponse>
          <TransactionId>string</TransactionId>
          <Decision>string</Decision>
          <RequestAccessKey>string</RequestAccessKey>
          <RequestProfileID>string</RequestProfileID>
          <RequestTransactionUniqueID>string</RequestTransactionUniqueID>
          <RequestTransactionType>string</RequestTransactionType>
          <RequestReferenceNumber>string</RequestReferenceNumber>
          <RequestLocale>string</RequestLocale>
          <RequestCurrency>string</RequestCurrency>
          <RequestAmount>string</RequestAmount>
          <RequestPaymentMethod>string</RequestPaymentMethod>
          <RequestBillToForename>string</RequestBillToForename>
          <RequestBillToSurename>string</RequestBillToSurename>
          <RequestBillToEmail>string</RequestBillToEmail>
          <RequestBillToPhone>string</RequestBillToPhone>
          <RequestBillToLine1>string</RequestBillToLine1>
          <RequestBillToState>string</RequestBillToState>
          <RequestBillToCity>string</RequestBillToCity>
          <RequestBillToCountry>string</RequestBillToCountry>
          <RequestCardType>string</RequestCardType>
          <RequestCardNumber>string</RequestCardNumber>
          <RequestCardExpiryDate>string</RequestCardExpiryDate>
          <RequestCardCVN>string</RequestCardCVN>
          <RequestToken>string</RequestToken>
          <Message>string</Message>
          <ReasonCode>string</ReasonCode>
          <AuthAVSCode>string</AuthAVSCode>
          <AuthAVSCodeRaw>string</AuthAVSCodeRaw>
          <AuthResponse>string</AuthResponse>
          <AuthAmount>string</AuthAmount>
          <AuthCode>string</AuthCode>
          <AuthCVResult>string</AuthCVResult>
          <AuthCVResultRaw>string</AuthCVResultRaw>
          <AuthTransReferenceNumber>string</AuthTransReferenceNumber>
          <BillTransReferenceNumber>string</BillTransReferenceNumber>
          <AuthTime>string</AuthTime>
          <PayerAuthenticationXID>string</PayerAuthenticationXID>
          <PayerAuthenticationProofXml>string</PayerAuthenticationProofXml>
          <PayerAuthenticationEci>string</PayerAuthenticationEci>
          <PayerAuthenticationCavv>string</PayerAuthenticationCavv>
          <PayerAuthenticationReasonCode>string</PayerAuthenticationReasonCode>
          <PayerAuthenticationEnrollECommerceIndicator>string</PayerAuthenticationEnrollECommerceIndicator>
          <PayerAuthenticationEnrollVeresEnrolled>string</PayerAuthenticationEnrollVeresEnrolled>
          <PayerAuthenticationUCI>string</PayerAuthenticationUCI>
          <PayerAuthenticationParesStatus>string</PayerAuthenticationParesStatus>
          <PayerAuthenticationValidateResult>string</PayerAuthenticationValidateResult>
          <PayerAuthenticationValidateECommerceIndicator>string</PayerAuthenticationValidateECommerceIndicator>
          <PayerAuthenticationUAD>string</PayerAuthenticationUAD>
          <PaymentToken>string</PaymentToken>
          <SignedFieldNames>string</SignedFieldNames>
          <UnsignedFieldNames>string</UnsignedFieldNames>
          <SignedDateTime>string</SignedDateTime>
          <Signature>string</Signature>
          <SignatureString>string</SignatureString>
        </CyberSourceResponse>
      </Request>
    </Payment_TokenizedVerifyResponse_Cybersource>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <Payment_TokenizedVerifyResponse_CybersourceResponse xmlns="http://www.securefreedom.com/">
      <Payment_TokenizedVerifyResponse_CybersourceResult>
        <RequestID>int</RequestID>
        <Success>int</Success>
        <Message>string</Message>
      </Payment_TokenizedVerifyResponse_CybersourceResult>
    </Payment_TokenizedVerifyResponse_CybersourceResponse>
  </soap12:Body>
</soap12:Envelope>