Card Provision
Provision a card into a mobile wallet by initiating push provisioning from your app.
provisionApplePay
Get Apple Pay enrypted data for provisioning into Apple Pay Wallet.
POST /card/provision/applepay
Request Body Parameters
Property | Data Type | Description |
---|---|---|
cardId |
integer | The unique identifier for a card. |
customerId |
integer | The unique identifier of the customer who actually created the card.
|
certificates |
string[] | json string array of base 64 encoded Apple X.509 certificates (* returned by Apple) |
nonceBase64 |
string | Base64 random number generated to avoid replay attacks (* returned by Apple) |
nonceSignatureBase64 |
string | Base64 nonce signature (* returned by Apple) |
Response Data
Property | Data Type | Description |
---|---|---|
encryptedPassData |
string | Base64 encoded encrypted authentication data consisting of encrypted PAN, expiry date, name etc. This value should be passed through to Apple as is. |
activationData |
string | Base64 encoded activation data consisting of encrypted nonce, noncesignature, and authCode. This value should be passed through to Apple as is. |
ephemeralPublicKey |
string | Base64 encoded encrypted JSON containing the sensitive information needed to add a card to Apple Pay. This value should be passed through to Apple as is. |
Error Codes
Code | Message (en-US) | Notes |
1-60000 | Any "Common Error Code" may occur. | See Common Error Codes |
154101 | Invalid CardId {0} or CustomerId {1} is not associated with the card. | |
157001 | Apple Pay Mobile Wallet Card Provisioining Program setting is not turned on. | |
157004 | Card is in {0} status and must be in Verified status for successful provisioning into a wallet. |
Example
Request
POST /card/provision/applepay Authorization: Basic PutBase64TokenHere
{ "cardId": 9799889, "customerId": 9715554, "certificates": [ "MIID/TCCA6OgAwIBAgIIMq/qUa9Z2nMwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMMK0FamGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAkBgNV0AsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xODA2MDEyMjAzMTBaFw0yMDA2MzAyMjAzMTBaMGwxNTAzBgNVBAMMLGVjYy1jcnlwdG8tc2VydmljZXMtZW5jaXBoZXJtZW50X1VDNi1TQU5EQk9YMREwDwYDVQQLDAhBcHBsZVBheTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATGiJjmEMmvOZBGj+tdj2ED7xnc9y1C0vNVaqZva7lvKkbgrfcWdo0/NdIJZ5wDcZ0eBtPuRJ+q/eSP9FLXQ19wo4ICGDCCAhQwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBSEtoTMOoZichZZlOgao71I3zrfCzBHBggrBgEFBQcBAQQ7MDkwNwYIKwYBBQUHMAGGK2h0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDMtYXBwbGV3d2RyY2EyMDUwggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxld3dkcmNhMi5jcmwwHQYDVR0OBBYEFMNruSHk5gH1LauD+wBI/9sgl/VpMA4GA1UdDwEB/wQEAwIDKDASBgkqhkiG92NkBicBAf8EAgUAMAoGCCqGSM49BAMCA0gAMEUCIQDhL+sL9bcrvAVO3UvswA805EHujfL7iVDrbEuJfOSJoAIgBPKehtuILl9x/SJ5kxReiml1zkJqUB8nTy0UOfUNIIQ=" ], "nonceBase64": "kauVuA==", "nonceSignatureBase64": "QHuLYArUCO2OZevP0rHc99g9RJp4O1dgsZuVpUdlA7zPWqCDhVQo9Mxr1uPS6GVyjZYo3YElIhHRV4Mv3wEJ3hGOaxK1gResup88QWDK1fL0" }
Response
200
{ "data": { "activationData": "TUJQQUMtMS1GSy00NzYxMjYuMS0tVERFQS04M0Y0RkE4QUJBQjYwNThDNTQ3MTA5NUM4M0Q5MkNEREY3QTA1NzM2Q0M0OUNGOEFCOTJBMTlGNEIzRUZBNjBDQkZERUY3MDdDRkNCMEQyMg==", "encryptedPassData": "ckYT6PBF1EfJrebdbAx98dIEz+M73CV7uG38OcEMHIkirCVaYpilBWPCMRHAzHPMP4fYPGgP4eDzaPrnjAse8UZM8pd3FPm906Dcp7cliNxb9bdPm5H1ywZHMzrvHyfY23zeIsQHhzjdlD1OFQ+76/AO6ZG5w5LyOt8D1P/26HuRWluZ4NIDweky/IDX51YH4PDH12j4h3TWleoDxA9OXr7L3Hwnk+wHWnZ8SMJ5GQcQHoQl1pR1anPdpuduG+HJcemCJXtW3tFQhQgKI1Qx8M4DWiFKvlZDgZ8rx0vp04QoXKWlhhzm07GYXhYfbEmYujtCXJyBYYdZufkzwC8hmZbgCpcAcGZel+tpkv7I4beuF2iR4YpEL04IwunaDbaGxDP87Ts4ARu/EoRyZAfgCBa363SSEyLWzaAxxbn0bFRBTMRXttrNyT3q6bsrSKL9AWaM7pm5lQYKlR/ocPvAPFbt+KQazPVa4kdsj18t/RLw3lsY2lJyWrfsTOMJBYKYzENIfYV0XYgudkXY86ka3CG9/nSVT+auWYSQCFiEOGKOzJuAH+S2rD5cXK1QWwpscBLquRc7TBs5dYGOGXvxeuf9CTxFkyRdnveO6VzNvQgmGY7CUlf1AmLuQ/oOZ49XVT327M9YjjeWozZo40YKo+9Ll+vAhd+uruBwzGRi4myQk1smP/9PfpJSI0xWW8ZhqBKqoVnuzdMJgQRz8w==", "ephemeralPublicKey": "BD4XRmMyWxHV4JO+TJswdg8lC8hXzxczGT0o2k27bDZW3phJHOybEE3wvRCR4V1hi15rTjlsIhrSnHqHssRn7H4=" }, "errors": [], "requestId": "d2aa0961-438e-48c4-b04f-b153312bc024", "status": 200 }
provisionGooglePay
Get Google Pay enrypted data for provisioning into Google Pay Wallet.
POST /card/provision/googlepay
Request Body Parameters
Property | Data Type | Description |
---|---|---|
cardId |
integer | The unique identifier for a card. |
customerId |
integer | The unique identifier of the customer who actually created the card.
|
deviceId |
string | User’s Android Device ID, the device’s unique identifier. |
clientCustomerId |
string | User’s Wallet account ID from Google Pay SDK. |
Response Data
Property | Data Type | Description |
---|---|---|
address |
address Object |
Customer Residence address. |
last4 |
string | Last 4 digits of the PAN. |
opaquePaymentCard |
string | Base64 encoded opaque card data that is needed by the client for tokenization. This value should be passed through to Google as is. |
Error Codes
Code | Message (en-US) | Notes |
1-60000 | Any "Common Error Code" may occur. | See Common Error Codes |
154101 | Invalid CardId {0} or CustomerId {1} is not associated with the card. | |
157002 | Google Pay Mobile Wallet Card Provisioining Program setting is not turned on. | |
157004 | Card is in {0} status and must be in Verified status for successful provisioning into a wallet. |
Example
Request
POST /card/provision/googlepay Authorization: Basic PutBase64TokenHere
{ "cardId": 492296, "customerId": 9715554, "deviceId": "uztEQocBRFrbK5hCgcDbxqw_", "clientCustomerId": "bogus_sandbox_value" }
Response
200
{ "data": { "address": { "addressLine1": "222333 Peachtree Place", "addressLine2": "", "addressLine3": "", "addressLine4": "", "addressType": "Residence", "city": "Atlanta", "country": "US", "isActive": true, "postalCode": "30318", "state": "GA" }, "last4": "0292", "opaquePaymentCard": "eyJhdWQiOiIxODk5NzZhNi0yZmFjLTRlZDEtOTM0ZS03MjY5NmVhMDgxMzEiLCJraWQiOiI4VUlDVlI2T05OSVZUVldJUVE0QzIxcmh2N2VOa2ZDajhiN1FVOG5DZThOZEV2X2t3IiwiaXNzIjoiYTVhMGQzODUtNGExZC0xZDU2LTE4NWYtMTU5ZjE3ODdhMjAxIiwidHlwIjoiSk9TRSIsImNoYW5uZWxTZWN1cml0eUNvbnRleHQiOiJTSEFSRURfU0VDUkVUIiwiZW5jIjoiQTI1NkdDTSIsInRhZyI6Il82Q3VfUEdZNHc3ZUg4LTdqc3VEZWciLCJpYXQiOjE2MDc5NTY0NjQsImFsZyI6IkEyNTZHQ01LVyIsIml2IjoiTjE5NHJjbE5mcng3dlRHSiJ9.Lpr69Vp2bu9sxiLtW-MEJJyo3GLagazsl4e4rWzCJYA.N1SwSFq6-ey4rFnr.fQOgrFoEC2vagJ5hjWAdi7azy1JXTOhHBrZWiqFYiyfO3Ot2klffWY4forYgBIt-j1138JQVtrTb49KoXljQ0_Rll00T9AFIrUlpRfnrcISRMA0LhACM_vCB_7I0CYMQwPdqIY7OYjn3EhKKk0fdHuhIYNjWFwZ3V4w0QdqHdt4igFowSnTbr5GAtQ3B2Cs1UOKlSd3Znffm_-VNpbSRnAdGcQoJ6EWzZApTpmzDyZndxh_RE27XU6Dnovnqc6TRiAvrHMgUG5p2Tkf4t_YhXDMFA66p16bIK09kSU7sZZ31VK4prS1IyFdtYeGPhc45Mbq4yMyvJenGC2iLrafs2I1IRWUe1Q-Vp6VNaR4pLBfthXeKFhkdypVQtcZzrcCxW_EXiEzTp0axql1wqheJKIDGWvb6NiQavl6sllXP7jVtW2r5Ko0pqXuq76nPsXJdVGtRovFIpahQn2i4odNf6BvHCfUaIentxtFyai0RuOZ3ry9Gqa7lLC8HfaPhnXO07C2pU0hz14oGEDKk7Vn-sVGYyFeISI5OHcvAQqDJsYlawThm62i7vuZ-yz7ycaYR8RM.FOODOuA0cNMXMZs7eyX64w" }, "errors": [], "requestId": "32693c93-d832-4138-856a-a14cd7260831", "status": 200 }