payment - 对于 Paytm JS Checkoput
问题描述
<div id="paytm-checkoutjs"></div>
<script type="application/html" crossorigin="anonymous" src="https://securegw-stage.paytm.in/merchantpgpui/checkoutjs/merchants/demoKey.js" onload="onScriptLoad();"> </script>
<script>
function onScriptLoad(){
var config = {
"root": "",
"flow": "DEFAULT",
"data": {
"orderId": "", /* update order id */
"token": "", /* update token value */
"tokenType": "TXN_TOKEN",
"amount": "" /* update amount */
},
"handler": {
"notifyMerchant": function(eventName,data){
console.log("notifyMerchant handler function called");
console.log("eventName => ",eventName);
console.log("data => ",data);
}
}
};
if(window.Paytm && window.Paytm.CheckoutJS){
window.Paytm.CheckoutJS.onLoad(function excecuteAfterCompleteLoad() {
// initialze configuration using init method
window.Paytm.CheckoutJS.init(config).then(function onSuccess() {
// after successfully updating configuration, invoke JS Checkout
window.Paytm.CheckoutJS.invoke();
}).catch(function onError(error){
console.log("error => ",error);
});
});
}
}
</script>
选择付款选项后的表格将如下所示。请让我知道如何从下面的表格中获取值到上面写的函数并使用支付网关。
<div class="container" style="padding-top:100px;">
<form action="" method="post">
<input type="hidden" id="CUST_ID" name="CUST_ID" value="<?php echo $txtMarketCode; ?>">
<input type="hidden" id="INDUSTRY_TYPE_ID" name="INDUSTRY_TYPE_ID" value="Retail">
<input type="hidden" id="CHANNEL_ID" name="CHANNEL_ID" value="WEB">
<div class="form-group">
<label>Order ID:</label>
<input type="text" class="form-control" id="ORDER_ID" name="ORDER_ID" size="20" maxlength="20" autocomplete="off" tabindex="1" value="<?php echo $txtTranID; ?>">
</div>
<div class="form-group">
<label>Amount to Pay:</label>
<input type="text" class="form-control" id="TXN_AMOUNT" name="TXN_AMOUNT" autocomplete="off" tabindex="5" value="<?php echo $txtTxnAmount; ?>">
</div>
<div class="form-group">
<input type="submit" name="submit" value="CheckOut" class="btn btn-success btn-lg" style="background-
color:#0000FF; margin-left: 37%;">
</div>
</form>
</div>
</body>
我尝试将用于 Paytm 支付网关集成的 JS Checkout 添加到我的网站。如何将值从我的 php 表单传递到上面的 onScriptLoad() 函数。请帮我合并这个功能。
解决方案
首先,您需要调用发起交易 API,它会返回一个交易令牌。传递函数中获得的交易令牌如下 -
function onScriptLoad(){
var config = {
"root": "",
"flow": "DEFAULT",
"data": {
"orderId": "<?php echo $orderid;?>", /* update order id */
"token": "<?php echo $txn_token;?>", /* update token value */
"tokenType": "TXN_TOKEN",
"amount": "<?php echo $amount;?>" /* update amount */
},
"handler": {
"notifyMerchant": function(eventName,data){
console.log("n`enter code here`otifyMerchant handler function called");
console.log("eventName => ",eventName);
console.log("data => ",data);
}
}
};
if(window.Paytm && window.Paytm.CheckoutJS){
window.Paytm.CheckoutJS.onLoad(function excecuteAfterCompleteLoad() {
// initialze configuration using init method
window.Paytm.CheckoutJS.init(config).then(function onSuccess() {
// after successfully updating configuration, invoke JS Checkout
window.Paytm.CheckoutJS.invoke();
}).catch(function onError(error){
console.log("error => ",error);
});
});
}
}
如果仍然无法解决您的问题,请在“Paytm 开发者支持”上提出查询
推荐阅读
- python - Is it possible to append lines of code outside a specific function in Python3?
- bash - Linux 测试项目 'nfs_stress' nfs01 'RTNETLINK 答案:不允许操作'
- python - 将列表与字典索引进行比较并根据原始列表顺序返回字典值
- reactjs - 如何在 react-table 上使用 react-perfect-scrollbar 来覆盖默认滚动条?
- java - 使用 Spring MVC 和 Hibernate 每个请求的单个事务
- assembly - 程序没有播放音乐 Nasm
- swift - Jazzy 无法生成所有文档
- reactjs - 当函数绑定到类 react 时,KeyCode 返回 undefined
- c# - 如何使这两个 web.config 转换工作?
- apache-nifi - 为可重用目的创建通用 Nifi 流