【问题标题】:PHP Implementation for ACINQ/Strike APIACINQ/Strike API 的 PHP 实现
【发布时间】:2018-09-10 21:26:13
【问题描述】:

我需要使用 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" } 

即使 CURLOPT_USERNAME 是准确的。还有其他我没有看到的问题吗?

提前致谢。

【问题讨论】:

  • 看起来您的 API 密钥无效?您是否尝试过使用 curl 并且能够获得成功的结果?
  • 我使用原生 curl 得到了相同的结果,所以我认为你是正确的,我得到的信息是准确的......谢谢!

标签: php curl post


【解决方案1】:

CURLOPT_USERNAME 在 PHP 5.5.0 中添加。

如果您有旧版本,那么您可能想尝试:

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

【讨论】:

  • 感谢您的想法,不幸的是结果相同。
【解决方案2】:

这是最终的 WORKING 解决方案...

$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 {
}

【讨论】:

    猜你喜欢
    • 2015-03-12
    • 2011-06-23
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多