这是我的功能:
function transaction_create($wallet_id, $passphrase, $payment_address, $payment_amount, $metadata = array()) {
$api_host = "";
$api_user = "";
$api_pass = "";
$api_url = "/v2/";
$api_endpoint = "wallets/" . $wallet_id . "/transactions";
// post body
$transaction = array(
"passphrase" => $passphrase,
"payments" => array(
"address" => $payment_address,
"amount" => array(
"quantity" => $payment_amount,
"unit" => "lovelace"
),
),
"metadata" => $metadata,
"time_to_live" => array(
"quantity" => 10,
"unit" => "second"
)
);
$curl = curl_init('https://' . $api_user . ":". $api_pass . "@". $api_host . $api_url . $api_endpoint);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($transaction));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$api_response = curl_exec($curl);
curl_close($curl);
// $api_response - available data from the API request
return $api_response;
}
这是有关api的文档:
https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction
给我带来问题的部分是格式化“付款”数组。我的功能的结果是:
“ {” code“:” bad_request“,” message“:” $。payments中的错误:解析NonEmpty失败,预期为数组,但是遇到了对象“}”
然后,如果我创建一个类并将“付款”转换为真实的对象,则会得到相反的错误,它需要一个数组而不是对象... ?? !! ?? 我很困惑。
在文档中,金额是一个对象,而不是数组-生存时间也是如此。当涉及JSON时,PHP似乎有些陷阱-我的建议是尝试捕获呈现的帖子,并确保数组为[]和对象为{}。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句