google checkout html api - получить статус платежа без HTTPS?

Когда я вхожу в свою учетную запись продавца, на вкладке «Настройки» я могу установить URL-адрес обратного вызова.

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

Содержание обратного вызова:
[x] Серийный номер уведомления
например, серийный номер=123-456-7
[ ] Уведомление в формате XML (требуется URL-адрес HTTPS)
например. 123...
[ ] Уведомление в формате HTML (пары имя/значение) (требуется URL-адрес HTTPS)
например. google-order-number=123&...

Итак, по этому серийному номеру мой серверный скрипт может получить статус заказа?

Мне нужно получить статус оплаты заказа (оплаченный или нет, оплаченная сумма) и номер заказа, отправленный обратно в мою (пользовательскую) корзину, чтобы я мог обновить свою базу данных.

(Я не могу получить HTTPS в данный момент, потому что человек, чей это сайт, не хочет его получать)


person Ozzy    schedule 03.06.2012    source источник
comment
Я думаю, что ответ отрицательный - все, что связано с оплатой, должно выполняться в зашифрованном сеансе.   -  person halfer    schedule 03.06.2012
comment
человек, чей это веб-сайт, не хочет его получать - вы имеете в виду, что они не хотят платить за сертификат SSL? Они очень дешевы в эти дни, я полагаю.   -  person halfer    schedule 03.06.2012
comment
Да, я знаю, что они стоят минимум 60 фунтов стерлингов в год! Я делаю этот сайт для друга (бесплатно), и этот человек действительно пока не хочет платить за сертификат (пока не получит несколько заказов)   -  person Ozzy    schedule 03.06.2012
comment
Так что я определенно не могу интегрировать обработку своих пользовательских заказов с google checkout без HTTPS, верно?   -  person Ozzy    schedule 03.06.2012
comment
@halfer Да, я думаю, ты прав. На самом деле это не серьезная проблема, просто немного облом, что заказы, не принадлежащие Google, будут просматриваться в пользовательской корзине, но заказы Google должны просматриваться отдельно в google checkout.   -  person Ozzy    schedule 03.06.2012
comment
SSL не требуется (с вашей стороны) в уведомлении о серийном номере, потому что это модель извлечения — вы получаете данные, аутентифицируясь и запрашивая их у Google (через SSL). Смотрите полный ответ ниже.   -  person EdSF    schedule 04.06.2012


Ответы (1)


Я хотел бы предостеречь вас относительно вашего принятого ответа.

  1. continue_url не является «автоматической переадресацией». Вы полностью зависите от того, действительно ли пользователь нажимает на эту ссылку, а не на любую другую ссылку на странице — в частности, на собственную ссылку Google для перехода на страницу Кошелька пользователя, где он/она имеет доступ ко всем своим заказам. .

    Таким образом, вы рискуете своими операциями, возможно, не располагая всеми ордерами в своей собственной системе.

  2. Все заказы Google Checkout имеют статусы заказов, которые вы действительно должны знать. в курсе. Вы уже делаете предположение в № 1, что пользователь на самом деле нажмет на вашу ссылку continue_url — кроме того, вы также открыли для себя возможность отслеживания заказов, которые на самом деле могут не быть одобрены Google, или не выполнить некоторые финансовые/рисковые авторизация или чек.

    Если пользователь на самом деле нажимает на предоставленную вами ссылку, но у Google возникают проблемы с заказом, ваша система имеет «деньги» там, где их быть не должно.

  3. Единственный надежный способ внедрения Google Checkout API и его интеграции с вашими системами — следовать документации/инструкциям. В этом случае вы должны внедрить Notification API.

    • SSL is only required (on your end) if you opt for XML/name-value (data) notification
    • SSL не требуется, если вы выбрали уведомление о серийном номере.
  4. Да, вы можете получить все данные заказа без установки/покупки сертификата SSL для вашего сервера с помощью уведомление о серийном номере — это то, что вы описываете.

    • XML/name-value notification is a "push" model - Google will "push" data to you. You will authenticate Google's basic auth request (which is why SSL is required).
    • уведомление о серийном номере является моделью «вытягивания» — вы «вытягиваете» данные из Google (учитывая серийный номер — и именно поэтому SSL не требуется с вашей стороны — вы аутентифицируете свой запрос на вытягивание и отправляете ваш запрос с SSL). Google не отправляет вам никаких данных, только серийный номер. Вы будете использовать этот серийный номер для получения связанных с ним данных и аутентификации в Google — ваш запрос будет использовать SSL.
  5. Вы будете использовать уведомление о серийном номере с API истории уведомлений для получения данных.

Ссылки выше должны привести вас к полной документации/справке. Если у вас есть вопросы, оставьте комментарий здесь или разместите сообщение на форумах по продуктам Google Checkout.

Хт....

person EdSF    schedule 04.06.2012