1

我拥有一个销售贺卡的网站。我让程序员帮我建立网站,但经过测试,我意识到 PayPal 结帐链接仍然指向 PayPal 沙箱,而不是真正的 PayPal。我在技术上面临很大挑战,所以在阅读了 PayPal 网站上的技术文档并查看了我网站上的脚本后,我试图更改脚本,但没有成功。

我在我的站点文件中搜索了“沙盒”,并找到了一个名为 的文件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 条目?

我从贝宝读到有我应该使用的 API 证书或签名;我在哪里把它放在网站上?IPN 呢?

4

1 回答 1

3

看起来您正在使用 Ubercart。更改付款设置的方法是前往:

http://YOURSITE/admin/store/settings/payment/edit/methods

并在 PayPal 网站付款标准设置下

将 Paypal 服务器:更改为“实时”

贝宝设置

此外,您应该将代码文件改回原来的样子。

于 2011-02-17T14:52:59.230 回答