Итак, у меня есть приложение API REST API Python, которое принимает платежи. Я создаю объект Payment и перенаправляю пользователя на PayPal. Когда они возвращаются я:После выполнения оплаты в REST API PayPal иногда я не получаю адрес электронной почты
payment = Payment.find(trans_id)
payment.execute({ "payer_id": payer_id })
Если это успешно, я получаю адрес электронной почты плательщика, как:
payer_info = payment.payer.payer_info.to_dict()
email = payer_info['email']
Это прекрасно работает, за исключением иногда это не так! Иногда (фактически только один раз) я получаю плательщик, у которого нет адреса электронной почты. Как это возможно? Это что-то, что должен ожидать мой код? Система, в которой я работаю, нуждается в электронном письме в качестве первичного ключа для нашей пользовательской базы данных, поэтому это довольно сложно удовлетворить.
Спасибо за любую помощь!
Еще более нечетного - когда я загружаю этот объект Платежного теперь плательщик прилагается письмо. Так может быть, это была ошибка от PayPal, которая не повторится? – samtregar
Это произошло дважды, и оба раза электронная почта теперь доступна, когда я проверяю, но не сразу после того, как пользователь вернулся из PayPal. – samtregar
Ну, это возможно для учетной записи PayPal, у которой нет адреса электронной почты. По крайней мере в некоторых юрисдикциях (странах) вы можете зарегистрироваться только с номером телефона, а другие типы «ручек» или адресов технически возможны. Тем не менее, вы всегда должны возвращать уникальный идентификатор. – geewiz