Я настроил учетную запись PayPal для отправки кодировки UTF-8
кодировки, как показано на этом изображении (также пытался оставить кодификацию как windows-1252
и установить No, utilizar
в UTF-8
):
Я тестирую в режиме песочницы, и это ответ от PayPal после того, как платеж принят (это odoo внутри докера):
2018-11-28 10:45:04,826 1 INFO hb odoo.addons.payment_paypal.controllers.main: Beginning Paypal IPN form_feedback with post data {'address_city': u'Barcelona',
'address_country': u'Spain',
'address_country_code': u'ES',
'address_name': u'M. Mart\ufffdn',
'address_state': u'B',
'address_status': u'confirmed',
'address_street': u'Somwhere',
'address_zip': u'00001',
'charset': u'windows-1252',
'custom': u'{"return_url": "/shop/payment/validate"}',
'first_name': u'test',
'handling_amount': u'0.84',
'ipn_track_id': u'9e97a36f6bd',
'item_name': u'Sales order: SO004',
'item_number': u'SO004',
'last_name': u'buyer',
'mc_currency': u'EUR',
'mc_gross': u'12.34',
'notify_version': u'3.9',
'payer_email': u'm.martin-buyer@example.com',
'payer_id': u'XXXXXXXXXXXXX',
'payer_status': u'verified',
'payment_date': u'02:44:58 Nov 28, 2018 PST',
'payment_gross': u'',
'payment_status': u'Pending',
'payment_type': u'instant',
'pending_reason': u'unilateral',
'protection_eligibility': u'Ineligible',
'quantity': u'1',
'receiver_email': u'm.martin@example.com',
'residence_country': u'ES',
'test_ipn': u'1',
'transaction_subject': u'',
'txn_id': u'01R5592157583523Y',
'txn_type': u'web_accept',
'verify_sign': u'XXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX'}
2018-11-28 10:45:06,391 1 WARNING hb odoo.addons.payment_paypal.controllers.main: Paypal: answered INVALID/FAIL on data verification
Я отредактировал имя адреса, удалив латинский акцент (я острый), и тогда все работает нормально.
Проблема в том, что данные IPN из PayPal идут с набором символов 'charset': u'windows-1252'
, хотя я ужеуказано UTF-8
.
Это ошибка в Paypal или я что-то не так делаю?Это поведение связано только с режимом песочницы?Боюсь, что это не сработает при переходе на производство ...