Информация о подписке PayPal

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

С точки зрения бэкенда, какой вызов API мне нужно сделать, чтобы получить информацию о подписке? https://api.sandbox.paypal.com/v1/payments/sale/ ? https://api.sandbox.paypal.com/v1/payments/authorization/ ?

Во внешнем интерфейсе я использую кнопку подписки, и единственный идентификатор, который я получаю от обратного вызова PDT, — это идентификатор транзакции. Это то, что мне нужно, или мне нужно настроить прослушиватель IPN для получения другой информации?


person MauroSK    schedule 24.10.2015    source источник


Ответы (1)


IPN — это все, что вам нужно для управления статусом вашей серверной подписки. Когда клиент оформляет подписку, ваш сценарий IPN получит сообщение обратной отправки PayPal, которое должно выглядеть примерно так:

txn_type=subscr_signup&subscr_id=I-T174N7E5R9YK&last_name=US&residence_country=US&mc_currency=USD&item_name=USM+Sample+Subscription&business=USM%40email.com&amount3=1.00&recurring=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AfmX-ZMkgBlWAFEHv-hrAdTpuXhH&payer_status=verified&test_ipn=1&payer_email=USP%40email.com&first_name=Payer&receiver_email=USM%40email.com&payer_id=8FMFQ2KVYYHTY&reattempt=1&item_number=S1&recur_times=2&subscr_date=20%3A41%3A18+Oct+25%2C+2015+PDT&charset=gb2312&notify_version=3.8&period3=6+D&mc_amount3=1.00&ipn_track_id=683b212770787 

Вы можете посмотреть на txn_type=subscr_signup и subscr_id=I-T174N7E5R9YK, первый сообщает о типе транзакции (регистрация, отмена, оплата подписки, истечение срока действия и т. д.), а последний предназначен для использования вашей сверки базы данных (сохраните идентификатор вместе с вашим профилем клиента). запись в вашу базу)

PDT удобен для отображения сведений о заказе ваших клиентов, когда они возвращаются на ваш сайт после оплаты, но не рекомендуется использовать его для внутреннего управления заказами, так как это синхронизированный метод, который может быть прерван поведением пользователя в браузере (кнопка "Назад" , браузер закрыт и т. д.)

person pp_pduan    schedule 26.10.2015
comment
Спасибо за ответ! Да, я думал, что мне нужно реализовать прослушиватель IPN, я просто не был уверен, какая информация мне нужна, чтобы сообщить своему серверу об обновлении статуса. Таким образом, PayPal автоматически сообщает слушателю IPN о любом обновлении статуса подписки? Но, используя асинхронные сообщения IPN, как я могу сопоставить пользователя PayPal с пользователем моего сайта? - person MauroSK; 26.10.2015
comment
Рекомендуемый метод — передать тег invoice в код формы кнопки подписки, чтобы определить уникальный идентификатор подписки. Это поле будет отправлено обратно через IPN для сопоставления с вашей записью пользователя базы данных. - person pp_pduan; 26.10.2015
comment
И да, IPN — это асинхронный обмен сообщениями, инициируемый событием, так что вы можете положиться на него, чтобы обновлять свои профили подписки при изменении статуса (сделанные платежи / профиль отменен / истек и т. д.) - person pp_pduan; 26.10.2015