我拥有一个销售贺卡的网站。我有程序员帮我构建网站,但经过测试,我意识到PayPal结账链接仍然指向PayPal沙盒而不是真正的PayPal。 我在技术上面临挑战,所以在阅读了PayPal网站上的技术文档并查看我网站上的脚本后,我试图更改脚本,但这是徒劳的。
我在我的网站文件中搜索了“sandbox”,找到了一个名为uc_paypal.pages.inc
的文件,这是唯一一个引用PayPal沙箱的文件。在该文件中,有3个对PayPal沙箱的引用。第一:
if (variable_get('uc_paypal_wpp_server', '') == 'https://api-3t.paypal.com/nvp') {
$host = 'https://www.paypal.com/cgi-bin/webscr';
}
else {
$host = variable_get('uc_paypal_wps_server', 'https://www.sandbox.paypal.com/cgi-bin/webscr');
}
第二
$nvp_response = uc_paypal_api_request($nvp_request, variable_get('uc_paypal_wpp_server', 'https://api-3t.sandbox.paypal.com/nvp'));
第三
if ($_SESSION['have_details'][$order->order_id] !== TRUE) {
$nvp_request = array(
'METHOD' => 'GetExpressCheckoutDetails',
'TOKEN' => $_SESSION['TOKEN'],
);
$nvp_response = uc_paypal_api_request($nvp_request, variable_get('uc_paypal_wpp_server', 'https://api-3t.sandbox.paypal.com/nvp'));
$_SESSION['PAYERID'] = $nvp_response['PAYERID'];
$shipname = check_plain($nvp_response['SHIPTONAME']);
if (strpos($shipname, ' ') > 0) {
$order->delivery_first_name = substr($shipname, 0, strrpos(trim($shipname), ' '));
$order->delivery_last_name = substr($shipname, strrpos(trim($shipname), ' ') + 1);
}
else {
$order->delivery_first_name = $shipname;
$order->delivery_last_name = '';
}
我尝试更改删除.sandbox
,使其仅指向.paypal.com
,但在将修改后的文件上传到服务器后,似乎没有变化(结帐仍然重定向到.sandbox.paypal
。
我是否更改了正确的参数?我应该在更改脚本后安装一些东西,我该怎么做?是否需要更改MySQL条目?
我从paypal读到我应该使用的API证书或签名;我在哪里把它放在网站上? IPN怎么样?
答案 0 :(得分:3)
看起来你正在使用Ubercart。更改付款设置的方法是转到:
http://YOURSITE/admin/store/settings/payment/edit/methods
并根据PayPal网站付款标准设置
将Paypal服务器更改为“实时”
此外,您应该将代码文件更改回之前的版本。