asp.net core 3.1开发交通银行支付接口笔记二支付

 

asp.net core 3.1开发交通银行支付接口笔记一底层代码

asp.net core 3.1开发交通银行支付接口笔记三退款、查询和收尾

上文说完配置和底层代码。这一章支付

原理获得加签字符串,用表单POST提交跳转到交通银行指定页面,当时我在这里卡了好久,完全不知道怎么POST提交跳转。还是百度了好久以后才有的结果。不过要注意:document.forms["payform"].submit();千万不可以漏掉(),我很早以前也是遇到过三次左右吧都是搞了好久,都不能提交。

这种反复踩坑的精神很值得赞赏啊。

我用的是VUE。前后端彻底分离。这是代码

    <form
      name="payform"
      method="post"
    >
      <input
        id="ID"
        name="交行接收的指定键,文档写有"
        type="hidden"
      />
    </form>
 pay: function (id) {
      var thisobj = this;
      comjs.get("获取加签信息的本地服务器地址", { id: id }, function (res) {
        if (res.rs == reasposeState.ok) {
          document.forms["payform"].action = res.data.url;
          document.getElementById("ID").value = res.data.sign;
          document.forms["payform"].submit();
        } else {
          thisobj.showMsgFuc(res.data, true);
        }
      });
    },

接下来只要在跳转的交行页面上输入微信支付密码即可支付。但是有个问题,支付完后会跳回微信公众号首页,而不是我的第三方首页。这很奇怪。

接收支付回调

1:接收回调

银行回调用的接口标识是终态通知,这个要注意

得到回调结果后就是自己本地的业务逻辑这个和这个文章主题交行接口无关,就不写出来了。

2:响应回调

这里我把HTTP理解错了,因为文档说交互要键值对响应的话要POST一个表单响应,所以以为用POST再次发起一次响应。其实这里只需要响应加签后的字符串即可

        /// <summary>
        /// 交行响应报文处理
        /// </summary>
        /// <param name="固定的接收ID"></param>
        /// <returns></returns>
        public async Task<ContentResult> bcmnotifyurl(string 固定的接收ID)
        {
            rs = await _iCourseMajorBLL.NotifyHandle(固定的接收ID);
            return Content(rs);
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值