Пустое тело POST-запроса от Google Pay в программе Loyalty Card - PullRequest
0 голосов
/ 13 февраля 2020

Мы столкнулись с проблемой тестирования на стороне Google Pay.

  1. На данном этапе мы попадаем в GPay только после регистрации Карты на стороне нашего сайта, когда после заполнения Пользователь формы перенаправляется на страницу GPay для создания новой Карты. Карта создается: мы видим ее с данными, введенными в форму, но GPay не отправляет никаких запросов на наш сайт. Требуется специальная среда тестирования от GPay?

  2. Служба поддержки Google Pay спрашивает: «Получаете ли вы POST от GPay при попытке подачи заявки из приложения?»

    Как мы можем подать заявку из GPay, если на данном этапе мы не можем создать Карту из GP?

    Процесс создания Карты описан в параграфе 1 (на стороне сайта). Как попасть в GPay для регистрации на этапе тестирования?

  3. Служба поддержки пишет: «Когда вы отправляете свои данные пользователя из GPay, он отправляет запрос POST на ваш сервер, чтобы, когда ваш отображается страница, содержащая информацию из формы пользовательских данных. "

    Как мы уже указывали, на текущем этапе мы не можем отправлять данные из GPay. Ожидалось, что служба поддержки Google Pay отправит запрос POST на наш сайт, но мы не видим тело запроса POST. Пусто Поэтому мы спросили ранее: с какой службой inte rnet мы можем ее увидеть? Они ответили, как мы поняли, что мы можем это увидеть, отправив из GPay. Как отправить его из GPay, если на этапе тестирования мы видим только новые карты и не получаем никаких запросов от GPay?

  4. Проводится ли тестирование из приложения GPay ? Если да, то почему у нас нет доступа?

  5. Мы получаем запрос POST, но с пустым телом запроса. GPay имеет много пользователей с картой лояльности. Кто-то уже сталкивался с этим. Мы не нашли таких ситуаций на Inte rnet. Как кто-нибудь обрабатывал подобные ситуации раньше?

  6. Как создать новую карту из GPay и увидеть запрос POST?


У нас нет доступа к настройкам класса в аккаунте. На русском языке мы не видим функцию обратного вызова, а на Engli sh техподдержка присылает нам скриншот - в аккаунте есть настройки. Могут ли быть проблемы с правами доступа? Для перекодировки по вашей ссылке из пункта 5 https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo - мы не нашли вставку штрих-кода / настройки вручную. Можете ли вы сказать нам, где их найти? В настоящее время мы можем сканировать штрих-код в приложении GPay (благодаря поддержке службы поддержки GPay), но мы не получаем запрос Post после вставки штрих-кода в приложение GPay. Наши настройки русской учетной записи выглядят так: enter image description here

Служба поддержки GPay. Посмотрите нашу учетную запись на Engli sh так: enter image description here Мы не видим этих настройки для штрих-кода.

В соответствии с документацией https://developers.google.com/pay/passes/guides/overview/how-to/use-callbacks мы настроили функцию обратного вызова, но мы не получаем запрос на отправку в формате json (php ):

$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/ enter image description here


В начале этапа тестирования мы осуществили вход в систему / регистрацию, как вы указали в пунктах 1-6. Мы сделали эту функциональность не потому, что она нам нужна, а подумали, что это необходимо для тестирования. Затем мы написали в службу поддержки, что нам нужен штрих-код / ​​вручную, к чему привыкли пользователи других карт. Нам ответили, что нам нужны настройки в аккаунте, мы их не нашли. Служба поддержки помогла нам настроить штрих-код в учетной записи Merchant Center - Google. Мы вставляем штрих-код в GPay, но мы не получаем json на сайте. Предполагаем проблему с правами доступа в Merchant Center - Google. Как другие владельцы карт обычно устанавливают штрих-код на своих счетах? У нас нет доступа к настройкам в Merchant Center - Google, к сожалению. Служба поддержки пишет, что доступ должен быть, но его нет.


Оказалось, что в GPay есть два способа работы с карточками. Первый метод описан в документации здесь https://developers.google.com/pay/passes/guides/enrollment-signin, второй метод - отсканировать карту (штрих-код / ​​вручную) и использовать ее в качестве хранилища карты, но данные карты не отправляются на сервер пользователя. , Карта лояльности просто отображается в GPay с ее номером (из штрих-кода / вручную) и все.

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Оказалось, что в GPay есть два способа работы с карточками. Первый метод описан в документации здесь https://developers.google.com/pay/passes/guides/enrollment-signin, второй метод - сканировать карту (штрих-код / ​​вручную) и использовать ее в качестве хранилища карты, но данные карты не отправляются на сервер пользователя. , Карта лояльности просто отображается в GPay с ее номером (из штрих-кода / вручную) и все.

1 голос
/ 04 марта 2020
  1. Регистрация и регистрация запускаются из приложения Google Pay: https://developers.google.com/pay/passes/guides/enrollment-signin

  2. Вы увидите сообщение, как только пользователь перейдет в приложение Google Pay и нажимает кнопку «Добавить», затем находит вашу программу и нажимает кнопку «Зарегистрироваться / войти».

  3. См. 1-2.

  4. Вы должны использовать учетную запись, которую вы предоставляете команде поддержки - она ​​видна только им для тестирования.

  5. Возможно, это не от Google. В запросах Google есть тело с данными пользователя.

  6. Go, чтобы войти в приложение Google Pay и войти в систему с пользователем, который включен в белый список службы поддержки, чтобы увидеть программу. Нажмите «Добавить пасс», затем программу лояльности, затем найдите свою программу, затем нажмите «Зарегистрироваться / войти», и она отправит сообщение в конечную точку, определенную здесь: https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo

Позвольте мне также уточнить регистрацию и вход в систему. Это то, что видит пользователь, что делает приложение Google Pay и, наконец, что должен делать продавец:

  1. Пользователь Google Pay переходит на вкладку пропусков в Google Pay App нажимает «+ Pass»: enter image description here

  2. Google Pay выбирает, какой тип прохода добавить, поражает лояльность в этом примере: enter image description here

  3. Пользователь выполняет поиск и нажимает на конкретную программу c, на которую он хочет подписаться (проходит этап тестирования до его публикации c, в какие только учетные записи, о которых вы сообщаете в службу поддержки, могут видеть программу в приложении Google Pay): enter image description here

  4. Пользователь затем заполняет информацию для обмена и дает согласие на передачу их информация с этим торговцем, затем они нажимают продолжить. k.imgur.com/7mg0J.png

  5. Google Pay Затем выполняет запрос POST с информацией пользователя для конечной точки, определенной здесь в классе лояльности, продавцом: https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo enter image description here

Здесь продавец сам должен будет ожидать POST для конечной точки, которую вы определили в настройке, упомянутой ранее, и передать пользовательскую форму до конца. sh с предоставлением всей необходимой информации и последующим перенаправлением на ссылку JWT для автоматического сохранения пропуска.

См. https://developers.google.com/pay/passes/partners/enrollment-signin для справки.

...