这是这个问题的正确翻译,最初是用法语提出的。请注意,我冒昧地翻译了代码中的注释。
我的程序在我的沙盒测试期间运行正常。当我将其置于操作模式时,它仍然可以正常工作。然后我在我的代码中添加了一个检查,以防止通过复制/粘贴 URL 来访问沙盒版本。现在我的网站在操作模式下正常工作,但我的沙盒版本不再工作了。
步骤:
//
// VENDOR PARAMETERS FOR SANDBOX VERSION
//
if ($proctest == "1")
{
$url_nvp = 'https://api-3t.sandbox.paypal.com/nvp'; // Sandbox version
$version = 64.0; // Version
$iduser = 'f-facilitator_api1.x.fr'; // User
$passwrd = '0123456789'; // Password
// Signature
$signature = 'AFcWxV21C7fd0v3bYYYRCpSSRl31ALWKEzeddmFHrClYoc6tJpZiawjH';
}
//
// VENDOR PARAMETERS FOR OPERATIONAL VERSION
//
else
{
$url_nvp = 'https://api-3t.paypal.com/nvp'; // Operational website
$version = 64.0; // Version
$iduser = 'f_api1.x.fr'; // User
$passwrd = '0123456789'; // Password
// Signature
$signature = 'Apekq0Tf.isqMqkIsEX7RsjIFTVCA8EehX5M263oELbE40NBWWYxhtW1';
}
//
// BUILDING THE STRING
//
$api_paypal= $url_nvp.'?VERSION=' .$version // Builds the URL
.'&USER=' .$iduser
.'&PWD=' .$passwrd
.'&SIGNATURE=' .$signature;
return $api_paypal; // Returns the string
}
然后:
//
// TEST ENVIRONMENT FOR NVP'S API
//
if ($proctest == "1")
{
header("Location: https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=".$liste_param_paypal['TOKEN']);
}
//
// OPERATIONAL ENVIRONMENT FOR NVP'S API
//
else
{
header("Location: https://www.paypal.com/webscr&cmd=_express-checkout&token=".$liste_param_paypal['TOKEN']);
}
我找不到阻止沙盒版本正常运行的原因。