Jump to content

【已解决】不同货币,付款出现问题


Recommended Posts

我的网站后台设置成人民币了
这样首页也有人民币

美国客户,在查看网站的时候,从网站首页右上角把货币改成了美元,一路购物操作正常
然后付款结算,物流什么的也都正常
到了最后一步,显示美元是42.47刀
但是跳转到paypal付款的时候,却显示283.5刀
我注意到283.5 正好是42.47按照美元人民币汇率 折换成人民币的数字。。。
为什么????
非常着急,等待高人指点

43053_FnlHt9fZ5ac2kjKY78cN_t

Share this post


Link to post
Share on other sites

谢谢楼上的回复
我认真的读了下面这篇文章
发现果然跟我的问题是一模一样的


因为issue1的解决需要花钱,我也没买它的module
我按照文章里介绍的,更改了paypal的redirect.php
操作了一下,发现问题依然存在,支付完成以后,还是提示支付错误


What is the problem

If you are using Paypal payment module ver 1.7 at PrestaShop 1.3.2, you will find some issue if you are using more than one currencies.

First, you will need to understand following concepts in PrestaShop
1. Default currency (assume set as: USD)
2. Paypal restricted currency( assume set as Euro)
3. Your store support currencies (assume you set as USD, EURO, GBP,....)

If you want know more about what is "Default currency", " Paypal restricted currency", please see my another post here

Issue/Problem 1: Currency Converting Problem
If customer select currency (e.g. GBP) other than Paypal Restriction Currency (Euro), when customer start checkout, PrestaShop will redirect to Paypal without converting, it means customer will be charged with Euro by the amount of GBP.

Issue/Problem 2: Customer selected currency
At Paypal payment page, if customer cancel payment and click "Return To Store" (your PrestaShop Store). When customer comes back to your store, all prices of products and shopping cart are displayed as Erro instead of customer selected GBP.


Affected PrestaShop versions

This issue 1 seem only happens on Paypal 1.7 which comes with PrestaShop 1.3.2
The issue 2 seems happens in both Paypal 1.7 and 1.6 which comes with PrestaShop 1.3.1

The solution

To fix issue 1, some more coding is required than fixing issue 2.
I will explained in detail on how to fix issue 2 here.

In the payment module "Agile Paypal", both issues are fixed. "Agile Paypal" is a Express Checkout module that allows customer checkout without sign up to registration or log in.

For more information this module Please Visit Here
If you interested in buying, Please Visit Here.
Or you can have live demo at below sites:
http://ecochoiceshop.com/ (public service)
http://expresscheckout.dyndns.org:8080/demoshop/ (sand box test)

Now, let me show you on how to fix issue 2:
Please apply following two changes to file ./modules/paypal/redirect.php
1. Add following code at position as indicated in the screen shot image below it.


$customercurrency = $cookie->id_currency;



2. Add following code before the end of script as indicated by the screen shot below.


$cookie->id_currency = $customercurrency;



Note:
The above change is for module Paypal 1.7 which comes with PrestaShop 1.3.2
But it should be the similar for other version like module Paypal 16.
Posted by Alvin at 11:29 AM

Share this post


Link to post
Share on other sites

哦你的默认货币是CNY,你试试将Default currency换成其他的货币,是否还有类似的“转换”错误?

我想,问题的关键是,由于PayPal对中国大陆的差别化服务(一个是贝宝,另一个是PayPal中国C2),针对C2的PrestaShop的PayPal是不能转换CNY的。之前,我也debug了好久,后来才意识到,不是程序的问题。

如果有CNY交易,则可能需要根据贝宝的API来修改PrestaShop的PayPal。

Share this post


Link to post
Share on other sites

我想后台显示人民币的数字,如果以美元为默认货币,美元汇率调整的时候,我还要每次改数字值。
我链接是美国的paypal不是贝宝

我的客服是美国人,用美元支付,每一步都正确,最后提交到paypal的总价格含运费也是42。47美元,但是最后跳转到paypal的页面就是总价283.5美元了

我只是货币显示是cny,实际上还是美元交易啊?

Share this post


Link to post
Share on other sites
  • 5 weeks later...
  • 2 weeks later...
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More