Google Кошелек для цифровых товаров перестал работать

StackOverflow https://stackoverflow.com//questions/20030460

  •  21-12-2019
  •  | 
  •  

Вопрос

Мы пытаемся интегрировать Google Wallet для цифровых товаров с приложением or php, и 2 дня назад, 15 ноября, нам удалось заставить его работать.Однако при повторной проверке на следующий день и даже сегодня, хотя код остался прежним, мы не изменили в нем ни одной буквы, он по-прежнему не работает, выдавая нам эту ошибку:

О-о-о.Возникла одна проблема.

Мы не смогли завершить вашу покупку из-за технической неполадки.

Подробная информация о проблеме приведена ниже:К сожалению, мы не смогли подтвердить вашу покупку с помощью сервера продавца.Ваш заказ был отменен.Пожалуйста, свяжитесь с продавцом, если эта проблема не устранится.

Код, который мы используем, выглядит следующим образом:

    $response = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : file_get_contents("php://input");

    $response = substr_replace($response, "", 0, 4);   //remove "

    $response = JWT::decode($response, $sellerSecretKey);

    header("HTTP/1.1 200 OK");

и, как я уже сказал, два дня назад все работало нормально, и у меня такое чувство, что работает и сейчас, потому что в нашем лог-файле мы получаем напечатанный этот ответ

Объект стандартного класса ( [iss] => Google [запрос] => Объект стандартного класса ( [название] => Продукт 1.[описание] => Вы приобретаете в общей сложности 1 товар в нашем магазине.Спасибо.[цена] => 9.99 [Код валюты] => USD [Данные продавца] => имя клиента, адрес электронной почты )

[response] => stdClass Object
    (
        [orderId] => GWDG_S.c7a66f5b-4674-43f0-be16-2b72f69a7445
    )

[typ] => google/payments/inapp/item/v1/postback/buy
[aud] => 03083876603093172875
[iat] => 1384689627
[exp] => 1384689647

)

URL-адрес обратной передачи указан правильно, и мы используем sandbox для выполнения тестов.

Это проблема от Google?Они работают над программным обеспечением или что-то в этом роде, и именно это является причиной проблемы?Или мы здесь делаем что-то не так?.

Любая помощь была бы высоко оценена.Спасибо.

Это было полезно?

Решение

Хотел прокомментировать, но это не подходит...

Эта ошибка указывает на что-то в вашем Обработчик обратной передачи.Я только что попробовал sandbox, и, кажется, все в порядке.

I'm нет разработчик php, так что это может быть неточно - вы отвечаете на обратную отправку с помощью orderId?Опять же, это основано только на моем прочтении приведенного выше кода (I подумай Я вижу только http 200?)

Единственное, о чем еще я могу подумать, это о том, что задержка вашего ответа составляет более 10 секунд (?) - что мог бы объяснить, почему могла быть и другая причина у вас есть зарегистрированные данные, но Google все еще отменил его.

*Нанести удар насквозь текст:вы получите данные для регистрации, потому что Google отправит вам эти данные, и важно, правильно вы ответите или нет

Как только вы расшифруете JWT с помощью вашего Секрета продавца, вы сможете убедиться, что покупка торта прошла нормально, и записать это. В течение 10 секунд чтобы получить обратную отправку, ваш сервер должен отправить ответ 200 OK, где единственным содержимым является значение поля "OrderID".Если этого не произойдет, Google отменит транзакцию.

ССЫЛКА: https://developers.google.com/commerce/wallet/digital/docs/postback#responding

Хтх.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top