aciq/strikeapi的PHP实现

aciq/strikeapi的PHP实现,php,curl,post,Php,Curl,Post,我需要使用PHP实现以下curl $ curl https://api.dev.strike.acinq.co/api/v1/charges \ -u sk_pJDwxFxCVw5fQJhRRMpf29jReUjjN: \ -X POST \ -d amount=42000 \ -d currency="btc" \ -d description="1%20Blockaccino" 这就是我目前所拥有的 $post=array(); $post["amount"]=4200; $post[

我需要使用PHP实现以下curl

$ curl https://api.dev.strike.acinq.co/api/v1/charges \ 
-u sk_pJDwxFxCVw5fQJhRRMpf29jReUjjN: \
-X POST \
-d amount=42000 \
-d currency="btc" \
-d description="1%20Blockaccino" 
这就是我目前所拥有的

$post=array();
$post["amount"]=4200;
$post["currency"]="btc";
$post["description"]="1%20Blockaccino";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERNAME, "sk_pJDwxFxCVw5fQJhRRMpf29jReUjjN:");
curl_setopt($ch, CURLOPT_URL, "https://api.dev.strike.acinq.co/api/v1/charges");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$output = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http==200) { 
} else {
}
它回来了

{ "code" : 401, "message" : "authentication failed" } 
即使用户名是准确的。还有其他我没有看到的问题吗


提前感谢。

在PHP5.5.0中添加了CURLOPT_用户名

如果您有较旧的版本,则可能需要尝试:

curl_setopt($ch, CURLOPT_USERPWD, "sk_pJDwxFxCVw5fQJhRRMpf29jReUjjN:");

这是最终的工作解决方案

$post=array();
$post["amount"]=100000;
$post["currency"]="btc";
$post["description"]="test";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERNAME, "sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
curl_setopt($ch, CURLOPT_URL, "https://api.strike.acinq.co/api/v1/charges");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post));
curl_setopt($ch, CURLOPT_HTTPHEADER,array("Content-Type: application/json"));   
$output = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http==200) { 
} else {
}

谢谢你的想法,不幸的是同样的结果。看起来你的API密钥无效?您是否尝试过使用curl,并且能够获得成功的结果?我使用native curl得到相同的结果,因此我认为您是正确的,我得到的信息是准确的。。。谢谢