【问题标题】:google-wallet post back decoding errors谷歌钱包回发解码错误
【发布时间】:2014-12-30 09:11:26
【问题描述】:

我的 googlw-wallet 数字商品回发文件失败。我知道我从谷歌得到了一个有效的回复,因为我输入了一条测试线来检查我是否收到了通过电子邮件将回复发送给我自己的回复。经测试,我得到了正确的 jwt 解码(使用在线 jwt 解码器上的 google),如下所示。当我将测试行移动到 JWT::decode 行下方时,我没有收到指示解码中出现致命错误的响应,该错误与 jwt 相同(由 luciferous 更改)。当我自己运行回发时,我收到了致命错误(当然没有发布 jwt),表明正在找到包含和脚本。

返回的回帖是 eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJHb29nbGUiLCJyZXF1ZXN0Ijp7Im5hbWUiOiJJbnZvaWNlIE51bWJlcjogMTA2NTk3IiwiZGVzY3JpcHRpb24iOiJTdXBwb3J0ZWQgU2VydmljZSIsInByaWNlIjoiMTAwIiwiY3VycmVuY3lDb2RlIjoiR0JQIiwic2VsbGVyRGF0YSI6IkRBVklEIE1JTExTLGRhdmVAZHdtaWxscy5jb20sSW52b2ljZSBOdW1iZXI6MTA2NTk3In0sInJlc3BvbnNlIjp7Im9yZGVySWQiOiJHV0RHX1MuY2VhYmI1YzQtNTk1Ni00OGIyLWE0MGItN2ZjMmRkMTg0YTlhIn0sInR5cCI6Imdvb2dsZS9wYXltZW50cy9pbmFwcC9pdGVtL3YxL3Bvc3RiYWNrL2J1eSIsImF1ZCI6IjEyMzQ1NjA1ODcxOTI0NjQ0MjcyIiwiaWF0IjoxNDE1MDI0ODM0LCJleHAiOjE0MTUwMjQ4NTR9.PV8c18EGWLL38sUDmjMY1HEV91An6ZVnKkymuW2SQUI。 P>

header
   {
    "alg": "HS256"
   }
claims
    {
    "aud": "12345605871924644272", 
    "iss": "Google", 
    "request": {
        "currencyCode": "GBP", 
        "price": "100", 
        "sellerData": "ghhk,ghty.com,Invoice Number:106597", 
        "name": "Invoice Number: 106597", 
        "description": "Supported Service"
    }, 
    "exp": 1415024854, 
    "iat": 1415024834, 
    "typ": "google/payments/inapp/item/v1/postback/buy", 
    "response": {
        "orderId": "GWDG_S.ceabb5c4-5956-48b2-a40b-7fc2dd184a9a"
    }
   }
signature
   PV8c18EGWLL38njyujMY1HEV91An6ZVnKkymuW2SQUI

我在尝试解码时遇到致命错误,因为之后我无法进入测试线。

我的回传脚本是

<?php

    require_once '../../includes/lib/JWT.php';
    require_once '../../includes/seller_info_test.php';



    $encoded_jwt = $_POST['jwt'];

     $decodedJWT  = JWT::decode($encoded_jwt, $sellerSecret);
     $orderId     = $decodedJWT->response->orderId;

     header("HTTP/1.0 200 OK");
     echo $orderId;

     $logfile = "purchasing/logfile.txt";
     if (!file_exists($logfile)) {
        touch($logfile);
        chmod($logfile, 0777);
     }
     $orderIDS   = file($logfile); //reads file into array
     $orderIDS[] = $orderId; //append new orderID to array
     file_put_contents($logfile, $orderIDS); //save the new array to file
    ?>

【问题讨论】:

    标签: php postback android-pay jwt


    【解决方案1】:

    问题现已解决。非常简单的 $sellerSecret 被替换为它工作的实际值时,没有从包含文件中读取。寻找明显的我想!删除了日志文件行并添加了发送电子邮件。下一步写入包含文件以针对卖方数据字段将响应数据写回数据库。

    【讨论】:

      猜你喜欢
      • 2014-07-29
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多