我不清楚如何将此代码示例放入
PHP的CURL结构中,特别是-d句柄.
curl -v https://api.sandBox.paypal.com/v1/payments/payment \ -H 'Content-Type:application/json' \ -H 'Authorization:Bearer EOjEJigcsRhdOgD7_76lPfrr45UfuI43zzNzTktUk1MK' \ -d '{ "intent":"sale","redirect_urls":{ "return_url":"http://<return URL here>","cancel_url":"http://<cancel URL here>" },"payer":{ "payment_method":"paypal" },"transactions":[ { "amount":{ "total":"7.47","currency":"USD" },"description":"This is the payment transaction description." } ] }'
我已经使用了以下测试调用,但不知道如何将其扩展到上面的示例.
curl_setopt($ch,CURLOPT_URL,"https://api.sandBox.paypal.com/v1/oauth2/token"); curl_setopt($ch,CURLOPT_HEADER,false); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_POST,true); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_USERPWD,$clientId.":".$secret); curl_setopt($ch,CURLOPT_POSTFIELDS,"grant_type=client_credentials"); $result = curl_exec($ch); if(empty($result))die("Error: No response."); else { $json = json_decode($result); print_r($json->access_token); }
尝试这样的事情,-d是你要发布的数据.自定义标头使用CURLOPT_HTTPHEADER设置.
$data = '{ "intent":"sale","description":"This is the payment transaction description." } ] }'; curl_setopt($ch,"https://api.sandBox.paypal.com/v1/payments/payment"); curl_setopt($ch,$data); curl_setopt($ch,CURLOPT_HTTPHEADER,array( "Content-Type: application/json","Authorization: Bearer EOjEJigcsRhdOgD7_76lPfrr45UfuI43zzNzTktUk1MK","Content-length: ".strlen($data)) );
看看这里的选项,http://php.net/manual/en/function.curl-setopt.php设置curl_setopt($ch,false);例如,如果您不需要返回标头.