Google Кошелек для цифровых товаров перестал работать
-
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
Хтх.