我正在尝试将支付网关集成到我的网站。我需要做的是发送:
{
"api_key": "pkabcd12345",
"currency": "USD",
"amount": 0.2,
"method": "MOBILE_MONEY",
"provider_id": "airtel_ug",
"account_number": "256777111000",
"merchant_reference": "12345",
"narration": "Payment for Hosting",
"redirect_url": ""
}
使用POST到https://api.dusupay.com/v1/collections
我尝试将其发送为HTML输入表单:
<form method="post" action="https://api.dusupay.com/v1/collections" name="frm1">
<input type="hidden" name="api_key" value="pkabcd12345" required>
<input type="number" name="amount" value='150' required>
<input type="hidden" name="currency" value="USD" required>
<input type="hidden" name="method" value="MOBILE_MONEY" required>
<input type="hidden" name="provider_id" value="airtel_ug" required>
<input type="hidden" name="merchant_reference" value="12346" required>
<input type="hidden" name="narration" value="diamond1" optional>
<input type="hidden" name="redirect_url" value="" optional>
</form>
<button onclick="document.frm1.submit()">Submit</button>
但是应用程序返回错误,提示“参数'amount'应该是浮点数/整数”。
我还尝试过直接通过html表单发布JSON对象,如下所示:
<form method="post" action="https://api.dusupay.com/v1/collections" name="frm1" >
<input value = '{
"api_key": "pkabcd12345",
"currency": "USD",
"amount": 0.2,
"method": "MOBILE_MONEY/CARD/BANK",
"provider_id": "airtel_ug, mtn_ug",
"account_number": "256777111000",
"merchant_reference": "12345",
"narration": "Payment for Hosting",
"redirect_url": ""
}' required>
</form>
<button onclick="document.frm1.submit();">Submit</button>
但是它甚至没有通过第一项检查,它抛出错误“缺少参数'api_key'”。
答案 0 :(得分:0)
type属性指定要显示的元素的类型。
即使将输入类型设置为数字,表单仍将其作为字符串提交,如以下代码段所示:
console.log(typeof document.getElementById("yourinput").value)
<input id="yourinput" type="number" name="amount" value='150' required>
这也不是您使用json值执行帖子的方式,相反,您可以编写自己的函数来执行此操作,例如使用fetch:
fetch("https://api.dusupay.com/v1/collections", {
method: 'post',
body: JSON.stringify(body),
headers: { 'Content-Type': 'application/json' },
})
.then(res=>res.json()) // if the answer is in json format
.then(console.log)
但这还不是全部,似乎您很困惑,并且在JSON主体中包含了所有不同类型的提供程序和方法,而不仅仅是针对此特定请求的有效方法。