0

Paypal 支払いシステムのステータスを編集する簡単な方法に取り組んでいるので、必要に応じてコードを入力せずにテスト モードに切り替えることができます。「MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER」は「ライブ」に定義されていますが、何らかの理由でサンドボックスの URL をスローし続けます。

echo MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER ;

if (MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER == "Live") {
    $form_action_url = 'https://www.paypal.com/cgi-bin/webscr';
  } else {
    $form_action_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
  }
echo ' '.$form_action_url;
die();

上記の出力:

ライブhttps://www.sandbox.paypal.com/cgi-bin/webscr '

MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER を「live」に置き換えると、値が正しく返されます。また、IF ステートメントに移動する前に DEFINE を変数に移動しようとしましたが、それでも機能しません。

私は OsCommerce を使用して、管理システム経由でこれを定義しています。

var_dump には次も表示されます。

string(20) "ライブ"

本来あるべきものの代わりに:

string(4) "ライブ"

MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER のオプションは「ライブ」と「サンドボックス」です。

4

3 に答える 3

0

次のコードは期待どおりに機能します。

<?php
    define("MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER", "LIVE");
    echo MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER ;

    if (MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER == "Live") 
    {
        $form_action_url = 'https://www.paypal.com/cgi-bin/webscr';
    } 
    else 
    {
        $form_action_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
    }
    echo ' '.$form_action_url;
    die();
?>

// Outpu: Live https://www.paypal.com/cgi-bin/webscr

定数をどのくらい正確に定義していますか?

以下を変更した場合:

define("MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER", "LIVE");

出力は

LIVE https://www.sandbox.paypal.com/cgi-bin/webscr

編集:あなたのコメントに基づいて、コードはそのときとまったく同じように機能しています。定数を として定義してLIVEいますが、if ステートメントでそれをチェックしていますLive。それらを比較すると、それらは等しくないため、ifステートメントは false と評価され、2 番目の条件が実行されます。

于 2012-08-23T07:49:26.337 に答える
0
<?php
if(!defined('MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER')) {
  define('MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER', 'Live');
}

if(MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER == 'Live') {
 echo('live');
} else {
 echo('sandboxing');
}
?>

ライブショー;-))

期待どおりに動作します - 説明した結果を再現できません。

于 2012-08-23T07:51:59.007 に答える
0

MODULE_PAYMENT_PAYPAL_STANDARD_GATEWAY_SERVER を変更せずに数回削除および追加した後、サイトからペイパル スクリプトを完全に削除し、再度インストールしました。今それは動作します!

于 2012-08-23T12:16:36.633 に答える