Digital Wallet Authorization Request

The following samples are for digital wallet (e.g. Apple Pay, Google Pay) credit card authorization requests.

Sample URI

/v1.0/stores/store123/payments/creditcard/auth/DW.xml

Sample Request Body

The request is a DigitalWallet request containing Apple Pay wallet information

<?xml version="1.0" encoding="UTF-8"?>
<CreditCardAuthRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0" requestId="1234567890ABCD">
  <WalletPaymentInformation>
    <ApplePayTransactionId>84a7e17570c940f6a268d9121a4c090f1d2e22bab4da0f2054c7ba53035dc79a
    </ApplePayTransactionId>
    <EphemeralPublicKey>MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAtpj8+ZI9S3gQ7QHCM/dLYTjdSgKdXlDDI/ezdwmHc4HosSY
        FdYYE/v8t2CcFwJHmceet/GNE1VRO57W3VxeAg==</EphemeralPublicKey>
    <PublicKeyHash>i3F+FlIbyhjfYqMqm3M/dpeWRO9tnD+U9BJng3tkkig=</PublicKeyHash>
    <Version>EC_v1</Version>
    <Data>GcUsL3ZgQVf9Raf7fBY+0AXsoO/5REeQWE6mROAJM4QvxJgOO6mxW1CuM1P7Ox9hQo1Qt1dg/VIS5fszNq7YhB0oQNgoEwAh7b
        TXEUBtmx0lzvN5EWxah0ScMbv/v+7CuakmRG6c6hO4xQlayCNGV6diFK1Ng6zNphSW53b1Di6vhqJcDnGs2tvu6wHyGfqIH6AeUm
        CNsiBvkHsaiiHbiWcL6BPpWuoW7y5bZK3mMxgygYgzZec/XnlV5lcJocpPDcL8ouuVU/oBMZn9ox/Ql3r9E8f3g7+uTdKZ+TEoyK
        IH52VQUb1/YXU3SZ2Fr2J/oidUPz9+fTvGZkFPQvSX4G+jzYWlCQmrx6qZ0cfTY/ZcGmITSSbzKcgy35kTTNJdqmL8wqmOzfr202
        R3sXeGBjS1BqAm5DNzbgWHGrOoc/I=</Data>
    <Signature>MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJ
        EPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA
        1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0M
        DkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UEC
        wwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEw
        hV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O/0komJPnwPE6OCAhEwggINMEUGC
        CsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OB
        BYEFJRX22/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUI/JJxE+T5O8n5sT2KGw/orv9LkswggEdB
        gNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljY
        XRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhb
        mQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lb
        nRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAno
        CWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGC
        CqGSM49BAMCA0gAMEUCIHKKnw+Soyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+W5l0r0ADfzTCPq2YtbS39w01X
        IayqBNy8bEwggLuMIICdaADAgECAghJbS+/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJ
        jAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeF
        w0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBI
        C0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGE
        wJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou/ee65N4I38S5PhM1bVZls1riLQl3YNIk57u
        gj9dhfOiMt2u2ZwvsjoKYT/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb
        20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7/S5LMA8GA1UdEwEB/wQFMAMBAf8wHwYDV
        R0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb
        290Y2FnMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w
        1bKYr/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC/gIwMi3VRCGwowV3bF3zODuQZ/0XfCwhbZZPxnJpghJvVPh6fRuZy
        5sJiSFhBpkPCZIdAAAxggFeMIIBWgIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtI
        EczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCV
        VMCCCRD8qgGnfV3MA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTUxM
        jEwMTc0NDEwWjAvBgkqhkiG9w0BCQQxIgQgUiRZSvu2i+zIK3pRHZsuhRIVtn71HWaUfewTPrqSm8MwCgYIKoZIzj0EAwIERjBEA
        iBIumc6vmek/PlaZBYgiIsNNV99jmbRFnwnmhLMQ3REXQIgNpC4d79eJmnCLnkQS1g/WgL3g+7RXszwNXQvK+Quzx0AAAAAAAA=
    </Signature>
  </WalletPaymentInformation>
  <OrderId>OrderId0</OrderId>
  <BillingFirstName>John</BillingFirstName>
  <BillingLastName>Smith</BillingLastName>
  <BillingPhoneNo>6101234567</BillingPhoneNo>
  <BillingAddress>
    <Line1>123 Main St</Line1>
    <Line2>Building 123</Line2>
    <Line3>4th Floor</Line3>
    <Line4>Apt 12</Line4>
    <City>Philadelphia</City>
    <MainDivision>PA</MainDivision>
    <CountryCode>US</CountryCode>
    <PostalCode>19019</PostalCode>
  </BillingAddress>
  <CustomerEmail>customer@sample.com</CustomerEmail>
  <CustomerIPAddress>208.247.73.130</CustomerIPAddress>
  <ShipToFirstName>John</ShipToFirstName>
  <ShipToLastName>Smith</ShipToLastName>
  <ShipToPhoneNo>6101234567</ShipToPhoneNo>
  <ShippingAddress>
    <Line1>123 Main St</Line1>
    <Line2>Building 123</Line2>
    <Line3>4th Floor</Line3>
    <Line4>Apt 12</Line4>
    <City>Philadelphia</City>
    <MainDivision>PA</MainDivision>
    <CountryCode>US</CountryCode>
    <PostalCode>19019</PostalCode>
  </ShippingAddress>
  <DeviceInformation>
     <DeviceFingerprint>e6b9acc2-d6db-4c61-8fdf-96fa55488853_1574205236741</DeviceFingerprint>
  </DeviceInformation>
</CreditCardAuthRequest>

Request Elements

Element Required Description Type Restriction
WalletPaymentInformation Yes Digital Wallet Payment Information ComplexType
WalletPaymentInformation/
ApplePayTransactionId
Yes Transaction Identifier, generated on the device. String
WalletPaymentInformation/
EphemeralPublicKey
Yes Hash of the X.509 encoded public key bytes of the merchant's certificate. String
WalletPaymentInformation/
PublicKeyHash
Yes Compares the Signature to the Private/Public Key for validation. String
WalletPaymentInformation/
Version
Yes Signature of the Payment and header data. The signature includes the signing certificate, its intermediate CA certificate, and information about the signing algorithm. String
WalletPaymentInformation/
Data
Yes Encrypted Payment Data. A payment data dictionary, Base64 encoded as a string.
WalletPaymentInformation/
Signature
Yes Signature of the payment and header data. The signature includes the signing certificate, its intermediate CA certificate, and information about the signing algorithm. Detached PKCS 37 signature, Base64 encoded as string.
OrderId Yes Unique identifier of the order. The client must ensure uniqueness of OrderIds across all orders that the client initiates with this service. String Max 20 characters
BillingFirstName Yes First name of the person on the billing address of the credit card String Max 64 characters
BillingLastName Yes Last name of the person on the billing address of the credit card String Max 64 characters
BillingPhoneNo Yes Phone number of the person on the billing address of the credit card String Max 15 characters
BillingAddress Yes (for AVS verification) Billing address of the credit card ComplexType
BillingAddress/
Line1
Yes

Line# components of the street address and, if necessary, suite and building identifiers for the physical address. Line1 is required.

Line2, Line3, and Line4 are optional. Include them only if the data exists. A blank AddressLine element will fail validation.

String

1 to 70 characters.

BillingAddress/
Line2
No

String

1 to 70 characters.

BillingAddress
Line3
No

String

1 to 70 characters.

BillingAddres
Line4
No

String

1 to 70 characters.

BillingAddress/
City
Yes Name of the city String Max 40 characters
BillingAddress/
MainDivision
No Two- or three-digit postal abbreviation for the state or province. The ISO 3166-2 code is recommended, but not required. See http://en.wikipedia.org/wiki/ISO_3166-2. String Max 30 characters
BillingAddress/
CountryCode
Yes Two digit ISO 3166 alpha 2 code country code. See: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 String 2 characters
BillingAddress/
PostalCode
Depends on country. Yes for US and Canada String of letters and/or numbers that specifies the delivery area more closely than the city alone (for example, US ZIP code) String Max 30 characters
CustomerEmail Yes Email address of the customer who is making the purchase. Used for realtime fraud checking by our API and payment processors. String Max 70 characters
CustomerIPAddress Yes IP address of the customer who is making the purchase. Used for realtime fraud checking by our API and payment processors. IPv4Address Max 70 characters
ShipToFirstName Yes First name of the person on the first/primary shipping address of the order. Used for realtime fraud checking by our API and payment processors. String 64 characters.
ShipToLastName Yes Last name of the person on the first/primary shipping address of the order. Used for realtime fraud checking by our API and payment processors. String Max 64 characters.
ShipToPhoneNo Yes Phone number of the person on the first/primary shipping address of the order. Used for realtime fraud checking by our API and payment processors. String Max 15 characters.
ShippingAddress Yes First/primary shipping address of the order. Used for realtime fraud checking by our API and payment processors. For orders that do not have a shipping address, pass the billing address as the shipping address. ComplexType
ShippingAddress/
Line1
Yes

Line# components of the street address and, if necessary, suite and building identifiers for the physical address. Line1 is required.

Line2, Line3, and Line4 are optional. Include them only if the data exists. A blank AddressLine element will fail validation.

String

1 to 70 characters.

ShippingAddress/
Line2
No

String

1 to 70 characters.

ShippingAddress/
Line3
No

String

1 to 70 characters.

ShippingAddress/
Line4
No

String

1 to 70 characters.

ShippingAddress/
City
Yes Name of the city String Max 40 characters
ShippingAddress/
MainDivision
No

Two- or three-digit postal abbreviation for the state or province. The ISO 3166-2 code is recommended, but not required. See http://en.wikipedia.org/wiki/ISO_3166-2.

String Max 30 characters
ShippingAddress/
CountryCode
Yes Two digit ISO 3166 alpha 2 code country code. See: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 String 2 characters
ShippingAddress/
PostalCode
Varies based on country. Yes for US/Canada

String of letters and/or numbers that specifies the delivery area more closely than the city alone (for example, U.S. ZIP code)

String Max 30 characters
DeviceInformation No This object contains the details used by the device for authorization. ComplexType
DeviceInformation/DeviceFingerprint No Radial Device Fingerprint (RDF) is a Javascript application that captures information about a customer's device. This device information is used to create a virtual profile, which can then be compared against subsequent orders to help mitigate fraud.
Radial Device Fingerprint is used to identify new customers and customers returning to a site using the same devices. Along with other Radial proprietary software solutions, Radial Device Fingerprint helps detect good and fraudulent orders.
See: https://docs.radial.com/ptf/Content/Topics/risk/device-fingerprint.htm
String

Min 36 characters
Max 64 characters
Only Alphanumeric(a to z, A to Z & 0 to 9) and special characters(hyphen[-] & underscore[_]) is allowed.