从 Google 中清空 POST 请求的主体 在程序忠诚卡中付款

Empty POST request's body from Google Pay in program Loyalty Card

我们在侧面遇到了测试问题Google支付。

  1. 在当前阶段,我们只有在我们网站一侧的卡注册后才能进入 GPay,在填写表单后用户将被重定向到 GPay 页面以创建新卡。 正在创建一张卡:我们看到它带有输入到表单中的数据,但 GPay 不会向我们的网站发送任何请求。需要GPay的特殊测试环境吗?

  2. Google Pay 支持服务询问:"Are you receiving the POST from GPay when you attempt the enrollment flow from the app?"

    如果我们现阶段无法从 GP 创建卡,我们如何从 GPay 申请?

    第 1 段(在网站端)描述了创建卡片的过程。 测试阶段如何进入GPay报名?

  3. 支持服务写入"When you submit your user details from GPay, it sends a POST request to your server so that when your page is displayed it contains the information from the user data form. "

    正如我们指出的那样,在当前阶段我们无法从 GPay 发送数据。 预计 Google Pay 的支持服务会向我们的站点发送 POST 请求,但我们没有看到 POST 请求的正文。它是空的。 因此,我们之前问过,我们可以通过什么互联网服务看到它? 据我们了解,他们回答说我们可以通过 GPay 发送来查看。 如何从 GPay 发送,如果在测试阶段我们只能看到 新创建的卡,我们没有收到来自 GPay 的任何请求?

  4. 测试是从 GPay 应用程序进行的吗? 如果是这样,为什么我们没有访问权限?

  5. 我们收到一个请求 POST,但请求正文为空。 GPay 有很多使用忠诚卡的用户。 有人已经遇到过这个。 我们在网上没有找到这样的情况。 以前有人如何处理过这种情况?

  6. 如何从 GPay 创建新卡并查看 POST 请求?


我们无权访问帐户中的 class 设置。在俄语中,我们看不到回调功能,在英语中,技术支持向我们发送了一个屏幕截图 - 帐户中有设置。会不会有访问权限问题? 根据第 5 段 https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo 中的 link - 我们没有找到插入条码/手动设置。你能告诉我们在哪里可以找到它们吗? 目前,我们可以在 GPay 应用程序中扫描条形码(由于 GPay 支持服务的帮助),但是在 GPay 应用程序中插入条形码后我们没有收到 Post 请求。 我们的俄语帐户设置如下所示:

GPay support service 请看我们的英文账号所以: 我们没有看到条形码的这些设置。

根据文档https://developers.google.com/pay/passes/guides/overview/how-to/use-callbacks,我们设置了回调功能,但我们没有收到格式为json(php)的post请求:

$responseJson_str = file_get_contents('php://input'); 
$responseJson = '[' . $responseJson_str . ']';
$response = json_decode($responseJson, true); 
var_dump( $response);   
$file_server = "server_calback.log";
$fw = fopen($file_server, "a");
fwrite($fw, "POST " . var_export($response, true) . "\n");
fclose($fw);

怎么了?

我向我们的网站显示请求 POST 的屏幕截图 https://itcrk.icu/testcallback.php 来自 https://reqbin.com/


在测试阶段开始时,我们按照您在第 1-6 点中指出的方式实施了登录/注册。我们做这个功能不是因为我们需要它,而是认为它是测试所必需的。 然后我们在支持团队中写道,我们需要 barcode/manually,因为其他卡的用户习惯了。我们被回答说我们需要在帐​​户中进行设置,但我们没有找到它们。支持团队帮助我们在 Merchant Center 帐户中配置条形码 - Google.We 在 GPay 中插入条形码,但我们在网站上没有得到 json。我们假设 Merchant Center 中的访问权限存在问题 - Google。其他持卡人通常如何在他们的账户中设置条形码?不幸的是,我们无法访问 Merchant Center 中的设置 - Google。支持团队写道应该可以访问,但实际上没有。


原来在GPay中有两种刷卡方式。第一种方法在https://developers.google.com/pay/passes/guides/enrollment-signin的文档中有介绍,第二种方法是扫描卡片(barcode/manually),将其作为卡片存储,但卡片数据不会发送到用户的服务器。 忠诚卡只是简单地显示在 GPay 中及其编号(来自 barcode/manually),仅此而已。

  1. 通过 google 付费应用程序触发注册:https://developers.google.com/pay/passes/guides/enrollment-signin

  2. 一旦用户进入 Google 付费应用并点击添加通行证,然后找到您的程序并点击注册/登录,您将看到 post。

  3. 见1-2.

  4. 您必须使用您提供给支持团队的帐户 - 它只对他们可见以进行测试。

  5. 可能不是来自 Google。 Google 请求的主体包含用户详细信息。

  6. 转到google付费应用程序并使用支持人员列入白名单的用户登录以查看该程序。点击添加通行证,然后点击忠诚度计划,然后搜索您的计划,然后点击注册/登录,它将 post 到此处定义的端点:https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo

我还要澄清注册和登录。这是用户看到的,Google 支付应用程序所做的,最后是商家需要做的:

  1. Google 付费用户导航至 Google 付费应用中的通行证选项卡,点击“+ 通行证”:

  2. Google Pay选择添加哪种类型的通行证,以点击忠诚度为例:

  3. 用户搜索并点击他们想要注册的特定程序(在进入 public 之前有一个测试阶段,只有您告诉支持团队的帐户才能看到google 付费应用程序中的程序):

  4. 用户然后填写要共享的信息并同意与该商家共享他们的信息,然后他们按继续。

  5. Google 付款然后向商家class 此处定义的端点发送带有用户信息的 POST 请求:https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo

这里是商家,您自己必须监听 POST 到您在前面提到的设置中定义的端点,并给用户表单以完成提供所需的所有详细信息,然后重定向到 JWT link 自动保存通行证。

参考https://developers.google.com/pay/passes/partners/enrollment-signin

原来GPay有两种刷卡方式。第一种方法在文档中有说明https://developers.google.com/pay/passes/guides/enrollment-signin,第二种方法是扫描卡片(barcode/manually),将其作为卡片存储,但不会将卡片数据发送到用户服务器。忠诚卡只是简单地显示在 GPay 中及其编号(来自 barcode/manually),仅此而已。