1

グリーティング カードを販売する Web サイトを所有しています。プログラマーにサイトの構築を手伝ってもらいましたが、テストしたところ、PayPal チェックアウト リンクが実際の PayPal ではなく PayPal サンドボックスを指していることに気付きました。私は非常に技術的に難しいので、PayPal Web サイトの技術文書を読み、自分の Web サイトのスクリプトを見て、スクリプトを変更しようとしましたが、無駄でした。

サイト ファイルで「サンドボックス」を検索したところ、 という名前のファイルが見つかりましたuc_paypal.pages.inc。これは、PayPal サンドボックスへの参照を含む唯一のファイルです。ファイルには、PayPal サンドボックスへの参照が 3 つあります。初め:

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');
}

2番:

$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はどうですか?

4

1 に答える 1

3

Ubercart を使用しているようです。支払い設定を変更するには、次の URL にアクセスしてください。

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

および PayPal ウェブ ペイメント スタンダード設定の下で

Paypalサーバーを変更します:「ライブ」に

ペイパルの設定

また、コード ファイルを以前のものに戻す必要があります。

于 2011-02-17T14:52:59.230 に答える