我已按照指南for Payflow hosted pages尝试了demo (.zip file)所有内容正在处理前几个cURL请求。现在,端点https://pilot-payflowpro.paypal.com始终返回超时:
Failed to connect to port 80: Connection timed out
这是抛出此错误的代码:
// run_payflow_call: Runs a Payflow API call. $params is an associative array of
// Payflow API parameters. Returns FALSE on failure, or an associative array of response
// parameters on success.
function run_payflow_call($params) {
global $environment;
$paramList = array();
foreach($params as $index => $value) {
$paramList[] = $index . "[" . strlen($value) . "]=" . $value;
}
$apiStr = implode("&", $paramList);
// Which endpoint will we be using?
if($environment == "pilot" || $environment == "sandbox")
$endpoint = "https://pilot-payflowpro.paypal.com/";
else $endpoint = "https://payflowpro.paypal.com";
// Initialize our cURL handle.
$curl = curl_init($endpoint);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
// If you get connection errors, it may be necessary to uncomment
// the following two lines:
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $apiStr);
$result = curl_exec($curl);
if($result === FALSE) {
echo curl_error($curl);
return FALSE;
}
else return parse_payflow_string($result);
}
有没有人经历过这个?
答案 0 :(得分:1)
由于您使用的是主机端口80,这很可能是导致连接超时的原因。确保端口443已打开。
以下是有关Payflow基本连接参数的信息:
https://developer.paypal.com/docs/classic/payflow/integration-guide/#payflow-connection-parameters
HOSTPORT (必填)使用端口443。
谢谢,
珍