我已经配置了一个贝宝帐户,以发送UTF-8
编码字符集(如该图片所示)(也尝试将编码保留为windows-1252
并将No, utilizar
设置为UTF-8
) :
我正在沙盒模式下进行测试,这是付款被接受后来自贝宝的响应(这是docker内部的一个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
我已经编辑了消除拉丁字母重音的地址名称,然后一切正常。
问题是即使我已经指定了'charset': u'windows-1252'
,来自paypal的IPN数据也带有字符集UTF-8
。
这是Paypal中的错误,还是我做错了什么? 此行为仅与沙盒模式有关吗?恐怕在投产时将无法正常工作...