API обратной передачи Java в PayPal всегда недействителен - PullRequest
0 голосов
/ 20 ноября 2018

Следующий вопрос относится только к «живой» конфигурации, а не к конфигурации «песочницы»:

Я переписываю конечную точку поста php post back в java.Существующий PHP использовал этот пример, без каких-либо учетных данных, и с этим URL: https://ipnpb.paypal.com/cgi-bin/webscr

Эта выше конечная точка, похоже, каждый раз возвращает ответ "VERIFIED".

С другой стороны, Java Core SDK имеет этот метод для отправки сообщения обратно

IPNMessage::validate()

с URL https://www.paypal.com/cgi-bin/webscr, и (возможно) с учетными данными (имя пользователя), пароль, токен и AppId).

Приведенный выше API всегда возвращает false из-за ответа "INVALID".

Мои вопросы:

  1. Этоправильный способ сделать «обратную отправку» подтверждения в Java?
  2. Нужны ли учетные данные для проверки этой обратной отправки?

1 Ответ

0 голосов
/ 21 ноября 2018

Похоже, что можно использовать конечную точку Java (https://www.paypal.com/cgi-bin/webscr).

Учетные данные не требовались.

Причиной получения IPN "INVALID" было неправильное кодированиезапрос Post Back. Чтобы исправить кодировку в PayPal (которая отправляет IPN), необходимо перейти в свою учетную запись PayPal и выбрать «Профиль и настройки»> «Мои инструменты продаж»> «Кодировка языка кнопки PayPal» ввнизу экрана> «Дополнительные параметры», затем выберите кодировку Java Core SDK («windows-1252»).

В качестве альтернативы, вы можете исправить кодировку обратной передачи, добавив кодировку"ключ / значение на карте конфигурации (см. README и добавьте следующее, чтобы получить кодировку UTF-8):

 customConfigurationMap.put("charset","UTF-8");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...