最近在接工行支付接口,有点问题解决不了,希望各位大佬帮个忙。
语言:C#
接口地址:https://open.icbc.com.cn/icbc/apip/service_detail.html?service_id=P0071#h1-5-api-
demo下载地址:https://open.icbc.com.cn/icbc/apip/docs_sdk&demo.html
问题描述:方法在demo里,我这边直接调用就可以了,不需要修改,参数开发平台里里有,我这边照着传就可以了。但是在调用的时候,行方传的返回值出了问题,且没有技术支持。
我这边能想到的就是参数传错了,但是参数都是按照接口文档传的,我实在是看不出有什么问题了,希望各位大佬帮个忙。
发送给工行的form表单示例(敏感信息已删除):.
<form name="auto_submit_form" method="post" action="https://gw.open.icbc.com.cn/ui/b2c/pay/transfer/V1?app_id=appid&sign_type=RSA&charset=UTF-8&format=json&msg_id=msg_id7×tamp=time&sign=sign">↵
<input type="hidden" name="notify_url" value="">↵
<input type="hidden" name="interfaceName" value="ICBC_WAPB_B2C">↵
<input type="hidden" name="interfaceVersion" value="1.0.0.6">↵
<input type="hidden" name="clientType" value="0">↵
<input type="hidden" name="biz_content" value="">↵
<input type="submit" value="立刻提交" style="display:none" >↵
</form>↵<script>document.forms[0].submit();</script>
调用代码示例:
UiIcbcClient client = new UiIcbcClient(APP_ID, MY_PRIVATE_KEY, IcbcConstants.CHARSET_UTF8);
B2cPayTransferRequestV1 request = new B2cPayTransferRequestV1();
B2cPayTransferRequestV1.B2cPayTransferRequestV1Biz bizContent = new B2cPayTransferRequestV1.B2cPayTransferRequestV1Biz();
request.setServiceUrl("https://gw.open.icbc.com.cn/ui/b2c/pay/transfer/V1");
bizContent.setorder_date(DateTime.Now.ToString("yyyyMMddHHmmss"));
bizContent.setorder_id(orderid);//订单编号
bizContent.setamount(reqObj.tbtotal_fee.ToString());//金额
bizContent.setinstallment_times("1");//全额付款
bizContent.setcur_type("001");//人民币
bizContent.setmer_id("");//商户代码 ,敏感信息
bizContent.setmer_acct("");//商户账号 ,敏感信息
bizContent.setverify_join_flag("0");//是否校验
bizContent.setnotify_type("HS");//是否发通知
bizContent.setresult_type("0");
bizContent.setreturn_url("http://");//敏感信息
bizContent.setremark1(DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss"));//订单无效时间
bizContent.setcredit_type(""); //以下参数文档显示传空
bizContent.setmer_reference("");
bizContent.setmer_custom_ip("");
bizContent.setgoods_type("");
bizContent.setmer_custom_id("");
bizContent.setmer_custom_phone("");
bizContent.setgoods_address("");
bizContent.setmer_order_remark("");
request.setBizContent(bizContent);
try
{
LoggerHelper.Info(orderid + ": " + "工行下单开始");
html = client.buildPostForm(request);//生成form表单,返回给前端由前端请求
}
catch (System.Net.WebException e) //无法连接到远程服务器,网络异常
{
//隐藏
}
catch (Exception ex)
{
//隐藏
}