Add loyalty card to Google Pay via Google Play Services API
I have problem with adding loyalty card to google pay app using google play services api. I have got account verficication after google pay request, but I'm receiving 400 in logs.
Can't find what's wrong...
Code below has been written following this guides:
https://developers.google.com/pay/passes/guides/get-started/implementing-the-api/save-to-google-pay#from-native-android-app
https://developers.google.com/pay/passes/guides/overview/basics/typical-api-flow
Attached code (Take a look on comments, it's important)
// is 9999999
val userId : String = usr.idUser.toString()
// value is "John Snow"
val fullname : String = usr.fullname
// ISSUER_ID - is numeric value from console
val wob = LoyaltyWalletObject.newBuilder()
// the class id has similar name. All characters has been replaced with 'x' character
.setClassId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx")
// similar to comment from method setClassId
.setId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx.$userId")
.setState(WalletObjectsConstants.State.ACTIVE)
// id of user in app
.setAccountId(userId)
// name of user in app
.setAccountName(fullname)
// from console - "Issuer" = Loyalty
.setIssuerName("Loyalty")
// from console - "Program Name" = Loyalty card
.setProgramName("Loyalty card")
// barcode type from docs
.setBarcodeType("code128")
// card 16 digits card number
.setBarcodeValue("1234567890123456")
// formatter card number
.setBarcodeAlternateText("1234 5678 9012 3456")
// url on web resources
.addLinksModuleDataUris(uris)
.build()
val request = CreateWalletObjectsRequest.newBuilder()
.setLoyaltyWalletObject(wob)
.build()
val opts = Wallet.WalletOptions.Builder()
.setTheme(WalletConstants.THEME_LIGHT)
.setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
.build()
val client = Wallet.getWalletObjectsClient(activity, opts)
val task = client.createWalletObjects(request)
AutoResolveHelper.resolveTask(task,activity,UIRequestCode.RC_GPAY)
The log:
E: [13290] BasicNetwork.performRequest: Unexpected response code 400 for https://wallet.google.com/payments/apis/instantbuy/android/v1/createWalletObjects
E: Exception sending Volley request
java.util.concurrent.ExecutionException: com.android.volley.ClientError
at com.android.volley.toolbox.RequestFuture.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at com.android.volley.toolbox.RequestFuture.get(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):29)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):25)
at atyd.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):8)
at atxx.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):16)
at atof.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxw.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atyg.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
at atxq.a(Unknown Source:2)
at atxu.a(Unknown Source:19)
at xrb.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at cpb.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxq.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at android.os.Binder.transact(Binder.java:627)
at dry.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at android.os.Binder.execTransact(Binder.java:697)
Caused by: com.android.volley.ClientError
at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):49)
at qni.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):13)
at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):6)
at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
E: Unknown ServerResponse type=1
Github issue: https://github.com/google-pay/s2gp-quickstart-android/issues/4 (sample code, developer Guide for passes APIs not yet updated by Google passes API team)
android google-play-services google-pay
add a comment |
I have problem with adding loyalty card to google pay app using google play services api. I have got account verficication after google pay request, but I'm receiving 400 in logs.
Can't find what's wrong...
Code below has been written following this guides:
https://developers.google.com/pay/passes/guides/get-started/implementing-the-api/save-to-google-pay#from-native-android-app
https://developers.google.com/pay/passes/guides/overview/basics/typical-api-flow
Attached code (Take a look on comments, it's important)
// is 9999999
val userId : String = usr.idUser.toString()
// value is "John Snow"
val fullname : String = usr.fullname
// ISSUER_ID - is numeric value from console
val wob = LoyaltyWalletObject.newBuilder()
// the class id has similar name. All characters has been replaced with 'x' character
.setClassId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx")
// similar to comment from method setClassId
.setId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx.$userId")
.setState(WalletObjectsConstants.State.ACTIVE)
// id of user in app
.setAccountId(userId)
// name of user in app
.setAccountName(fullname)
// from console - "Issuer" = Loyalty
.setIssuerName("Loyalty")
// from console - "Program Name" = Loyalty card
.setProgramName("Loyalty card")
// barcode type from docs
.setBarcodeType("code128")
// card 16 digits card number
.setBarcodeValue("1234567890123456")
// formatter card number
.setBarcodeAlternateText("1234 5678 9012 3456")
// url on web resources
.addLinksModuleDataUris(uris)
.build()
val request = CreateWalletObjectsRequest.newBuilder()
.setLoyaltyWalletObject(wob)
.build()
val opts = Wallet.WalletOptions.Builder()
.setTheme(WalletConstants.THEME_LIGHT)
.setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
.build()
val client = Wallet.getWalletObjectsClient(activity, opts)
val task = client.createWalletObjects(request)
AutoResolveHelper.resolveTask(task,activity,UIRequestCode.RC_GPAY)
The log:
E: [13290] BasicNetwork.performRequest: Unexpected response code 400 for https://wallet.google.com/payments/apis/instantbuy/android/v1/createWalletObjects
E: Exception sending Volley request
java.util.concurrent.ExecutionException: com.android.volley.ClientError
at com.android.volley.toolbox.RequestFuture.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at com.android.volley.toolbox.RequestFuture.get(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):29)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):25)
at atyd.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):8)
at atxx.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):16)
at atof.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxw.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atyg.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
at atxq.a(Unknown Source:2)
at atxu.a(Unknown Source:19)
at xrb.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at cpb.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxq.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at android.os.Binder.transact(Binder.java:627)
at dry.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at android.os.Binder.execTransact(Binder.java:697)
Caused by: com.android.volley.ClientError
at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):49)
at qni.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):13)
at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):6)
at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
E: Unknown ServerResponse type=1
Github issue: https://github.com/google-pay/s2gp-quickstart-android/issues/4 (sample code, developer Guide for passes APIs not yet updated by Google passes API team)
android google-play-services google-pay
got any solution? it's a bug or whitelisting problem? please update
– LOG_TAG
Dec 17 '18 at 17:05
.setCreateMode(SHOW_SAVE_PROMPT) is needed ?
– LOG_TAG
Dec 17 '18 at 17:38
No, our team didn't get any solution for this. Out discussion is in progress with google.
– Alex Nuts
Dec 18 '18 at 11:39
@LOG_TAG - unfortunately .setCreateMode(SHOW_SAVE_PROMPT) doesn't work for testing for us
– Alex Nuts
Dec 18 '18 at 11:40
same here! let me know if you get solution from google team , I will also update you on the progress! please comment here also github.com/google-pay/s2gp-quickstart-android/issues/4
– LOG_TAG
Dec 18 '18 at 14:44
add a comment |
I have problem with adding loyalty card to google pay app using google play services api. I have got account verficication after google pay request, but I'm receiving 400 in logs.
Can't find what's wrong...
Code below has been written following this guides:
https://developers.google.com/pay/passes/guides/get-started/implementing-the-api/save-to-google-pay#from-native-android-app
https://developers.google.com/pay/passes/guides/overview/basics/typical-api-flow
Attached code (Take a look on comments, it's important)
// is 9999999
val userId : String = usr.idUser.toString()
// value is "John Snow"
val fullname : String = usr.fullname
// ISSUER_ID - is numeric value from console
val wob = LoyaltyWalletObject.newBuilder()
// the class id has similar name. All characters has been replaced with 'x' character
.setClassId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx")
// similar to comment from method setClassId
.setId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx.$userId")
.setState(WalletObjectsConstants.State.ACTIVE)
// id of user in app
.setAccountId(userId)
// name of user in app
.setAccountName(fullname)
// from console - "Issuer" = Loyalty
.setIssuerName("Loyalty")
// from console - "Program Name" = Loyalty card
.setProgramName("Loyalty card")
// barcode type from docs
.setBarcodeType("code128")
// card 16 digits card number
.setBarcodeValue("1234567890123456")
// formatter card number
.setBarcodeAlternateText("1234 5678 9012 3456")
// url on web resources
.addLinksModuleDataUris(uris)
.build()
val request = CreateWalletObjectsRequest.newBuilder()
.setLoyaltyWalletObject(wob)
.build()
val opts = Wallet.WalletOptions.Builder()
.setTheme(WalletConstants.THEME_LIGHT)
.setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
.build()
val client = Wallet.getWalletObjectsClient(activity, opts)
val task = client.createWalletObjects(request)
AutoResolveHelper.resolveTask(task,activity,UIRequestCode.RC_GPAY)
The log:
E: [13290] BasicNetwork.performRequest: Unexpected response code 400 for https://wallet.google.com/payments/apis/instantbuy/android/v1/createWalletObjects
E: Exception sending Volley request
java.util.concurrent.ExecutionException: com.android.volley.ClientError
at com.android.volley.toolbox.RequestFuture.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at com.android.volley.toolbox.RequestFuture.get(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):29)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):25)
at atyd.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):8)
at atxx.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):16)
at atof.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxw.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atyg.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
at atxq.a(Unknown Source:2)
at atxu.a(Unknown Source:19)
at xrb.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at cpb.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxq.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at android.os.Binder.transact(Binder.java:627)
at dry.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at android.os.Binder.execTransact(Binder.java:697)
Caused by: com.android.volley.ClientError
at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):49)
at qni.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):13)
at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):6)
at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
E: Unknown ServerResponse type=1
Github issue: https://github.com/google-pay/s2gp-quickstart-android/issues/4 (sample code, developer Guide for passes APIs not yet updated by Google passes API team)
android google-play-services google-pay
I have problem with adding loyalty card to google pay app using google play services api. I have got account verficication after google pay request, but I'm receiving 400 in logs.
Can't find what's wrong...
Code below has been written following this guides:
https://developers.google.com/pay/passes/guides/get-started/implementing-the-api/save-to-google-pay#from-native-android-app
https://developers.google.com/pay/passes/guides/overview/basics/typical-api-flow
Attached code (Take a look on comments, it's important)
// is 9999999
val userId : String = usr.idUser.toString()
// value is "John Snow"
val fullname : String = usr.fullname
// ISSUER_ID - is numeric value from console
val wob = LoyaltyWalletObject.newBuilder()
// the class id has similar name. All characters has been replaced with 'x' character
.setClassId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx")
// similar to comment from method setClassId
.setId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx.$userId")
.setState(WalletObjectsConstants.State.ACTIVE)
// id of user in app
.setAccountId(userId)
// name of user in app
.setAccountName(fullname)
// from console - "Issuer" = Loyalty
.setIssuerName("Loyalty")
// from console - "Program Name" = Loyalty card
.setProgramName("Loyalty card")
// barcode type from docs
.setBarcodeType("code128")
// card 16 digits card number
.setBarcodeValue("1234567890123456")
// formatter card number
.setBarcodeAlternateText("1234 5678 9012 3456")
// url on web resources
.addLinksModuleDataUris(uris)
.build()
val request = CreateWalletObjectsRequest.newBuilder()
.setLoyaltyWalletObject(wob)
.build()
val opts = Wallet.WalletOptions.Builder()
.setTheme(WalletConstants.THEME_LIGHT)
.setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
.build()
val client = Wallet.getWalletObjectsClient(activity, opts)
val task = client.createWalletObjects(request)
AutoResolveHelper.resolveTask(task,activity,UIRequestCode.RC_GPAY)
The log:
E: [13290] BasicNetwork.performRequest: Unexpected response code 400 for https://wallet.google.com/payments/apis/instantbuy/android/v1/createWalletObjects
E: Exception sending Volley request
java.util.concurrent.ExecutionException: com.android.volley.ClientError
at com.android.volley.toolbox.RequestFuture.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at com.android.volley.toolbox.RequestFuture.get(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):29)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):25)
at atyd.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):8)
at atxx.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):16)
at atof.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxw.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atyg.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
at atxq.a(Unknown Source:2)
at atxu.a(Unknown Source:19)
at xrb.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at cpb.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxq.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at android.os.Binder.transact(Binder.java:627)
at dry.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at android.os.Binder.execTransact(Binder.java:697)
Caused by: com.android.volley.ClientError
at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):49)
at qni.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):13)
at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):6)
at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
E: Unknown ServerResponse type=1
Github issue: https://github.com/google-pay/s2gp-quickstart-android/issues/4 (sample code, developer Guide for passes APIs not yet updated by Google passes API team)
android google-play-services google-pay
android google-play-services google-pay
edited Dec 18 '18 at 16:55
LOG_TAG
14.8k106094
14.8k106094
asked Nov 15 '18 at 13:10
Alex NutsAlex Nuts
11616
11616
got any solution? it's a bug or whitelisting problem? please update
– LOG_TAG
Dec 17 '18 at 17:05
.setCreateMode(SHOW_SAVE_PROMPT) is needed ?
– LOG_TAG
Dec 17 '18 at 17:38
No, our team didn't get any solution for this. Out discussion is in progress with google.
– Alex Nuts
Dec 18 '18 at 11:39
@LOG_TAG - unfortunately .setCreateMode(SHOW_SAVE_PROMPT) doesn't work for testing for us
– Alex Nuts
Dec 18 '18 at 11:40
same here! let me know if you get solution from google team , I will also update you on the progress! please comment here also github.com/google-pay/s2gp-quickstart-android/issues/4
– LOG_TAG
Dec 18 '18 at 14:44
add a comment |
got any solution? it's a bug or whitelisting problem? please update
– LOG_TAG
Dec 17 '18 at 17:05
.setCreateMode(SHOW_SAVE_PROMPT) is needed ?
– LOG_TAG
Dec 17 '18 at 17:38
No, our team didn't get any solution for this. Out discussion is in progress with google.
– Alex Nuts
Dec 18 '18 at 11:39
@LOG_TAG - unfortunately .setCreateMode(SHOW_SAVE_PROMPT) doesn't work for testing for us
– Alex Nuts
Dec 18 '18 at 11:40
same here! let me know if you get solution from google team , I will also update you on the progress! please comment here also github.com/google-pay/s2gp-quickstart-android/issues/4
– LOG_TAG
Dec 18 '18 at 14:44
got any solution? it's a bug or whitelisting problem? please update
– LOG_TAG
Dec 17 '18 at 17:05
got any solution? it's a bug or whitelisting problem? please update
– LOG_TAG
Dec 17 '18 at 17:05
.setCreateMode(SHOW_SAVE_PROMPT) is needed ?
– LOG_TAG
Dec 17 '18 at 17:38
.setCreateMode(SHOW_SAVE_PROMPT) is needed ?
– LOG_TAG
Dec 17 '18 at 17:38
No, our team didn't get any solution for this. Out discussion is in progress with google.
– Alex Nuts
Dec 18 '18 at 11:39
No, our team didn't get any solution for this. Out discussion is in progress with google.
– Alex Nuts
Dec 18 '18 at 11:39
@LOG_TAG - unfortunately .setCreateMode(SHOW_SAVE_PROMPT) doesn't work for testing for us
– Alex Nuts
Dec 18 '18 at 11:40
@LOG_TAG - unfortunately .setCreateMode(SHOW_SAVE_PROMPT) doesn't work for testing for us
– Alex Nuts
Dec 18 '18 at 11:40
same here! let me know if you get solution from google team , I will also update you on the progress! please comment here also github.com/google-pay/s2gp-quickstart-android/issues/4
– LOG_TAG
Dec 18 '18 at 14:44
same here! let me know if you get solution from google team , I will also update you on the progress! please comment here also github.com/google-pay/s2gp-quickstart-android/issues/4
– LOG_TAG
Dec 18 '18 at 14:44
add a comment |
2 Answers
2
active
oldest
votes
Your app needs to be whitelisted by the Google Pay team.
Yes, is very important, but...
I sent to Google Pay team my release SHA1 Fingerprint (https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk). After that, when install app directly from apk file, all start work great (when click on "Add To GPay" -> loyalty card add to Google Pay)!
But continued to not work when upload to Play Market(
After hard research... )
Solution:
SHA1 Fingerprint need get from "Google Play Console > Release Management > App Signing > App signing certificate"
add a comment |
I was having this problem as well. The error message isn't very informative. Your app needs to be whitelisted by the Google Pay team. You need to contact them at https://support.google.com/pay/merchants/contact/interest and provide the following:
- Issuer ID (this is on your merchant account page)
- App package name (this is found in your AndroidManifest.xml on the manifest parent element com.companyname.appname)
- SHA1 Fingerprint (This can be found by following the instructions outlined here: https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk)
So I finally got this to work, in the merchant center under the general area I changed the status field from DRAFT to UNDER_REVIEW. It immediately changed to approved and I could save the loyalty card.
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
1
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
|
show 1 more comment
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53320259%2fadd-loyalty-card-to-google-pay-via-google-play-services-api%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your app needs to be whitelisted by the Google Pay team.
Yes, is very important, but...
I sent to Google Pay team my release SHA1 Fingerprint (https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk). After that, when install app directly from apk file, all start work great (when click on "Add To GPay" -> loyalty card add to Google Pay)!
But continued to not work when upload to Play Market(
After hard research... )
Solution:
SHA1 Fingerprint need get from "Google Play Console > Release Management > App Signing > App signing certificate"
add a comment |
Your app needs to be whitelisted by the Google Pay team.
Yes, is very important, but...
I sent to Google Pay team my release SHA1 Fingerprint (https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk). After that, when install app directly from apk file, all start work great (when click on "Add To GPay" -> loyalty card add to Google Pay)!
But continued to not work when upload to Play Market(
After hard research... )
Solution:
SHA1 Fingerprint need get from "Google Play Console > Release Management > App Signing > App signing certificate"
add a comment |
Your app needs to be whitelisted by the Google Pay team.
Yes, is very important, but...
I sent to Google Pay team my release SHA1 Fingerprint (https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk). After that, when install app directly from apk file, all start work great (when click on "Add To GPay" -> loyalty card add to Google Pay)!
But continued to not work when upload to Play Market(
After hard research... )
Solution:
SHA1 Fingerprint need get from "Google Play Console > Release Management > App Signing > App signing certificate"
Your app needs to be whitelisted by the Google Pay team.
Yes, is very important, but...
I sent to Google Pay team my release SHA1 Fingerprint (https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk). After that, when install app directly from apk file, all start work great (when click on "Add To GPay" -> loyalty card add to Google Pay)!
But continued to not work when upload to Play Market(
After hard research... )
Solution:
SHA1 Fingerprint need get from "Google Play Console > Release Management > App Signing > App signing certificate"
answered Jan 11 at 7:17
Павел КарпычевПавел Карпычев
261
261
add a comment |
add a comment |
I was having this problem as well. The error message isn't very informative. Your app needs to be whitelisted by the Google Pay team. You need to contact them at https://support.google.com/pay/merchants/contact/interest and provide the following:
- Issuer ID (this is on your merchant account page)
- App package name (this is found in your AndroidManifest.xml on the manifest parent element com.companyname.appname)
- SHA1 Fingerprint (This can be found by following the instructions outlined here: https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk)
So I finally got this to work, in the merchant center under the general area I changed the status field from DRAFT to UNDER_REVIEW. It immediately changed to approved and I could save the loyalty card.
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
1
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
|
show 1 more comment
I was having this problem as well. The error message isn't very informative. Your app needs to be whitelisted by the Google Pay team. You need to contact them at https://support.google.com/pay/merchants/contact/interest and provide the following:
- Issuer ID (this is on your merchant account page)
- App package name (this is found in your AndroidManifest.xml on the manifest parent element com.companyname.appname)
- SHA1 Fingerprint (This can be found by following the instructions outlined here: https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk)
So I finally got this to work, in the merchant center under the general area I changed the status field from DRAFT to UNDER_REVIEW. It immediately changed to approved and I could save the loyalty card.
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
1
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
|
show 1 more comment
I was having this problem as well. The error message isn't very informative. Your app needs to be whitelisted by the Google Pay team. You need to contact them at https://support.google.com/pay/merchants/contact/interest and provide the following:
- Issuer ID (this is on your merchant account page)
- App package name (this is found in your AndroidManifest.xml on the manifest parent element com.companyname.appname)
- SHA1 Fingerprint (This can be found by following the instructions outlined here: https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk)
So I finally got this to work, in the merchant center under the general area I changed the status field from DRAFT to UNDER_REVIEW. It immediately changed to approved and I could save the loyalty card.
I was having this problem as well. The error message isn't very informative. Your app needs to be whitelisted by the Google Pay team. You need to contact them at https://support.google.com/pay/merchants/contact/interest and provide the following:
- Issuer ID (this is on your merchant account page)
- App package name (this is found in your AndroidManifest.xml on the manifest parent element com.companyname.appname)
- SHA1 Fingerprint (This can be found by following the instructions outlined here: https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk)
So I finally got this to work, in the merchant center under the general area I changed the status field from DRAFT to UNDER_REVIEW. It immediately changed to approved and I could save the loyalty card.
edited Dec 21 '18 at 18:14
answered Dec 14 '18 at 17:18
Stevenr12Stevenr12
937
937
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
1
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
|
show 1 more comment
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
1
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
glad someone already posted here! any update on this? all documentations are updated, code samples are deprecated!
– LOG_TAG
Dec 17 '18 at 17:05
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
Hello, @Stevenr12 . Thank you for your answer. The app currentry isn't in white list (Discussion with google is in progress). Rest were done.
– Alex Nuts
Dec 18 '18 at 11:45
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@LOG_TAG and Alex Nuts: See the edits, I got it working by updating the status in the merchant center.
– Stevenr12
Dec 21 '18 at 18:16
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
@Stevenr12 .setId(ISSUER_ID + "." + OFFER_OBJECT_ID) .setClassId(ISSUER_ID + "." + OFFER_CLASS_ID) can you clarifiy OFFER_OBJECT_ID and OFFER_CLASS_ID is same ? github.com/google-pay/s2gp-quickstart-android/blob/master/app/… ! how do you creating layality Object ?
– LOG_TAG
Dec 23 '18 at 4:43
1
1
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
@LOG_TAG From the documentation: "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'." developers.google.com/pay/passes/reference/v1/loyaltyobject In your code sample OfferTestObject1 will not be a unique value. Also, be careful about posting your issuer ID.
– Stevenr12
Dec 27 '18 at 17:47
|
show 1 more comment
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53320259%2fadd-loyalty-card-to-google-pay-via-google-play-services-api%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
got any solution? it's a bug or whitelisting problem? please update
– LOG_TAG
Dec 17 '18 at 17:05
.setCreateMode(SHOW_SAVE_PROMPT) is needed ?
– LOG_TAG
Dec 17 '18 at 17:38
No, our team didn't get any solution for this. Out discussion is in progress with google.
– Alex Nuts
Dec 18 '18 at 11:39
@LOG_TAG - unfortunately .setCreateMode(SHOW_SAVE_PROMPT) doesn't work for testing for us
– Alex Nuts
Dec 18 '18 at 11:40
same here! let me know if you get solution from google team , I will also update you on the progress! please comment here also github.com/google-pay/s2gp-quickstart-android/issues/4
– LOG_TAG
Dec 18 '18 at 14:44