我想修改网页日期格式 mmm yyyy,保存为yyyy/m非yyyy/m/d,然后提交保存。怎么做?

日期时间格式如:var systemTime = '';换成YYYY-MM-DD H:M:S怎么换 反之,yyyy-mm-dd h:m:s 换成如上面一串数字怎么换
全部答案(共1个回答)
是时间转换为秒的值,例如3600秒=1小时,天,=1年
鼠标右键-设置单元格格式-数字栏目中选择日期,最后选择你需要的日期显示格式
单元格格式设置只能改变显示,不是真正的改变改变的话选中这一列——数据——分列——下一步——下一步——列数据格式 选择文本——完成###通过格式只能改变显示的形式...
to_date('30','yyyy-mm-dd hh24:mi:ss')
然后日期直...
可以用常用菜单栏下面的取代命令.
首先要看你的单元格里到底是什么,即编辑栏里显示的也是 201008吗?如果是这样,你可以选中这一列,右键,设置单元格格式,自定义0000-00确定,即可。这要保...
答: 淘宝在哪里申请品牌授权
答: Globus网络计算协议建立在网际协议之上,以网际协议中的通信、路由、名字解析等功能为基础
答: 找到对方的IP,输入IE地址里就行了!
目前我们的生活水平必竟非同以往.吃得好休息得好,能量消耗慢,食欲比较旺盛,活动又少,不知不觉脂肪堆积开始胖啦。                                                                                         减肥诀窍:一.注意调整生活习惯,二。科学合理饮食结构,三。坚持不懈适量运动。
   具体说来:不要暴饮暴食。宜细嚼慢咽。忌辛辣油腻,清淡为好。多喝水,多吃脆平果青香焦,芹菜,冬瓜,黄瓜,罗卜,番茄,既助减肥,又益养颜,两全其美!
有减肥史或顽固型症状则需经药物治疗.
如有其他问题,请发电子邮件:jiaoaozihao53@ .或新浪QQ: 1
这个问题有点不知所问了。
公务员并不由单位性质决定,行政单位行政编的是公务员,但并不是说行政单位的就是公务员,事业单位里面参照管理的也是公务员。
所以你的问题只能回答为:按公务员管理的是公务员。
tann转成假名就是たん,拼音的话,相当于tang吧……
bakka转成假名是ばっか
kkou转成假名是っこう
benn转成假名是べん
kyo转成假名是きょ
系统学过五十音的话,看罗马音就能直接读了。用拼音来学是不合适的,有些发音没法用拼音标的。
P.S.罗马音里,“nn”就是波音“ん”,“kka”是前面带促音小写“っ”的“か”,同理“tta”就等于“った”。
方法步骤:01子宫附件囊肿在进行微创手术的时候,人们是比较安全的,而且这种微创手术只需住院3天就可以回家了,但是子宫附件囊肿微创手术,大概需要8000元左右的价钱的,价格虽然贵了点,但是效果特别的好。02如果人们患有的子宫附件囊肿是卵巢囊肿的话,应该到正规医院进行科学的子宫检查了,因为这种疾病会有恶性的可能的,这种疾病在早期的时候难诊断,因此如果有恶性的卵巢囊肿很容易使人们失去生命的。03超声治疗子宫附件囊肿也有着一定的疗效的,但是人们需要使用超声来只要病灶准确显示出来的,这是需要考验医生的技能的,找到病灶以后,人们还要穿刺病变组织的,然后人们会注射一些使这些组织脱水的药物来进行治疗疾病的。04子宫附件囊肿疾病患者的内分泌千万要调理好的,生闷气发脾气的这些不好习惯要改正的,还有的就是在吃饭的时候不要大量吃一些高热量的东西。
方法步骤:01乳房胀痛这个症状不是乳腺癌,乳房胀痛有很多种原因,在来月经之前也会出现乳房胀痛,怀孕了也会导致乳房胀痛,这个都是和激素有关系,有什么不舒服,要尽快去医院检查,治疗,不要随随便便的使用药物的治疗,那样是不正确的,要正确的治疗这个疾病,有利于恢复。02乳房癌这个疾病,是外科的一种疾病,要是治疗晚,就会出现转移,乳房癌这个疾病具有一定的遗传性,遗传的比正常人发病率要高,要定期去医院检查,要早发现,早诊断,早治疗,早愈合。03乳房癌这个疾病,要合理的饮食,要注意补充营养,可以多吃一些新鲜的水果,补充维生素,要多吃新鲜的蔬菜,保持大便的通畅,防止便秘,要多喝开水,有利于毒素的排出来,加快新陈代谢。04乳房癌这个疾病,手术后,要注意锻炼,要循序渐进,要定期去医院复查疾病,心情不要过于的担心,要保持愉快的心情,积极治疗疾病。
是可以的,有以下要注意的地方:
01怀孕成功的话,因为有过一次葡萄胎,所以这次是格外小心的,以免再次葡萄胎的。晚上的时候是不能熬夜的,不要经常的玩电脑,手机,电视等具有辐射性的电子产品的。会在一定的程度上危害孕妇的身体健康的。02在饮食方面也是需要注意的,饮食上,是千万不要吃过于辛辣刺激的食物,不要吃含有色素的食物,不要吃过于咸的食物,在饮食上,最好是以清淡的口味为主,可以适当的补充维生素和营养物质等。03因为您以前是患有了葡萄胎的症状,所以在怀孕阶段是需要定期的去医院进行详细的检查的,因为孕妇在怀孕前三个月是非常关键的,这个时候是胎儿的器官发育的重要阶段,所以在平时的时候是一定要注意的。04作为孕妇的家人,在孕妇怀孕月份比较大的时候,是需要陪伴在左右的,不能让孕妇去拥挤的人群,以免呼吸不顺畅等。有任何的不适要及时的去医院进行治疗,祝您身心愉悦。
方法步骤:01现在女性患有宫颈糜烂的疾病越来越多,得了宫颈糜烂我们经常会感到自己的腹部特别的疼痛,还有的时候会感到自己的腰腿酸疼痛,还有的时候我们会发现自己的阴道出现出血的现象。02记得我同事的妈妈前阵子忽然感到自己的腹部有坠胀的感觉,后来疼痛更加的明显,逐渐的发现自己的白带中加有血丝,后来去了医院检查才知道自己得了宫颈糜烂,后来大夫开了玉竹、虫草、桂圆肉、丁香、广东紫珠、坤草、鸡血等中药服用了几天之后症状得到了好转。03当我们发现自己得了宫颈糜烂我们要保持自己的饮食清淡,少吃一些辛辣刺激的食物,我们不要经常的抽烟,不要喝酒,我们不要自己熬夜,我们要保持自己的心情舒畅,适当的参加体育锻炼。04以上内容仅供参考,如果发现自己得了这种疾病我们要及时的去医院治疗,我们不要自己乱用药物,使自己的病情更加恶化,错过疾病治疗的最佳时间。
方法步骤:01外阴炎是比较常见的妇科疾病,是由白色念珠菌感染引起的,会引起白带、分泌物增多、尿急、外阴瘙痒等症状,要先检查外阴皮肤的颜色和表面,还要提取阴道分泌物做常规的妇科检查,以及是否有霉菌、滴虫细菌的分析,最后还要检查宫颈内部情况。02外阴炎的检查也就是比较全面的妇科检查,找出病因,对症治疗,治疗期间要注意个人卫生,禁止盆浴,也不能性生活,同时要注意休息,应该早睡早起,保证每天有8小时的睡眠时间,提高身体免疫力。03外阴炎患者不能吃辛辣刺激的食物,比如辣椒、胡椒、大蒜、韭菜等,也不能吃海鲜易发类的食物,可以多吃新鲜蔬菜和水果,多喝水,不要喝咖啡、浓茶,不要压力过大,保持乐观、愉悦的心情。04外阴炎患者要注意保暖,不要感冒,也不要吃生冷的食物,要穿宽松的内裤,多吃牛肉、鱼肉、瘦肉等蛋白质食物,补充营养,多运动,增强体质。
淳度可外穿家居服穿着很舒服,最喜欢的是款式,大方简洁,在我们店里销量很不错,回头客很多。
永隆厂家很靠谱哦,以前跟这家有合作,永隆厂家诚实守信,重信誉,收费实惠,生产的彩箱质量有保障,经久耐用,售后完善。
永隆厂家很受欢迎,专业从事于日用包装制造多年,我经常在这家买日用包装盒,质量好,价格实惠,外形美观,很不错的产品。
佛山市顺德区侨锘贸易有限公司给你专业的指导了解一下
森发木材吧!听说口碑不错
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区优畅接口文档
优畅支付接口文档
UCHANG开发人员与商户平台服务方技术或业务人员参考和查询。
ULINE接口数据格式
文档版本 v1
接口版本 v1
1.1 数据格式
1.1.1 提交数据
&attach&&![CDATA[att]]&&/attach&
&body&&![CDATA[支付测试]]&&/body&
&device_info&1000&/device_info&
&mch_id&&/mch_id&
&nonce_str&adf880d5c8986bd0debd948&/nonce_str&
&out_trade_no&&/out_trade_no&
&spbill_create_ip&127.0.0.1&/spbill_create_ip&
&total_fee&1&/total_fee&
&sign&&![CDATA[FCE52E4CAA4D2B49A91C]]&&/sign&
1.2 XML 数据格式
采用标准XML协议,所有参数只存在一级节点,不采用多借点嵌套。
协议级错误返回:
&return_code&500&/return_code&
&return_msg&&![CDATA[SYSERR]]&&/return_msg&
正确返回数据:
&result_code&SUCCESS&/return_code&
&return_msg&&![CDATA[OK]]&&/return_msg&
&mch_id&&![CDATA[]]&&/mch_id&
&device_info&&![CDATA[1000]]&&/device_info&
&nonce_str&&![CDATA[FvYSnPuFFPkAr77M]]&&/nonce_str&
&sign&&![CDATA[EA6EB5F3B72]]&&/sign&
&result_code&SUCCESS&/result_code&
&trade_type&&![CDATA[pay.weixin.jspay]]&&/trade_type&
&bank_type&&![CDATA[CCB_CREDIT]]&&/bank_type&
&total_fee&1&/total_fee&
&coupon_fee&0&/coupon_fee&
&fee_type&&![CDATA[CNY]]&&/fee_type&
&transaction_id&&![CDATA[8756]]&&/transaction_id&
&out_trade_no&&![CDATA[]]&&/out_trade_no&
&attach&&![CDATA[att]]&&/attach&
&time_end&&![CDATA[55]]&&/time_end&
业务级错误返回:
&return_code&SUCCESS&/return_code&
&return_msg&&![CDATA[OK]]&&/return_msg&
&mch_id&&![CDATA[]]&&/mch_id&
&device_info&&![CDATA[1000]]&&/device_info&
&nonce_str&&![CDATA[sthBJ9QyUG6vkrjJ]]&&/nonce_str&
&sign&&![CDATA[5D4FF23AA7B6A4C3046AB]]&&/sign&
&result_code&FAIL&/result_code&
&err_code&&![CDATA[AUTHCODE_EXPIRE]]&&/err_code&
&err_code_des&&![CDATA[二维码已过期,请刷新再试]]&&/err_code_des&
一般有返回有 return_code 参数,SUCCESS 表示调用成功;非 SUCCESS 表示调用失败。
1.2数字签名
为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进 行签名校验。
数字签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。 一般失败的结果不签名。
1.2.1签名原始串
无论是请求还是应答,签名原始串按以下方式组装成字符串:
除 sign 字段外,所有参数按照字段名的 ascii 码从小到大排序后使用 QueryString 的格式(即 key1=value1&key2=value2&)拼接而成,空值不传递,不参与签名组串。
签名原始串中,字段名和字段值都采用原始值,不进行 URL Encode。
ULINE返回的应答或通知消息可能会由于升级增加参数,请验证应答签名时注意允许这种情况。
调用某个接口,接口有如下字段:
&body&&![CDATA[测试支付]]&&/body&
&mch_create_ip&&![CDATA[127.0.0.1]]&&/mch_create_ip&
&mch_id&&![CDATA[006]]&&/mch_id&
&nonce_str&&![CDATA[]]&&/nonce_str&
&notify_url&&![CDATA[http://227.0.0.1:9001/javak/sds?123&23=3]]&&/notify_url&
&out_trade_no&&![CDATA[]]&&/out_trade_no&
&service&&![CDATA[pay.weixin.jspay]]&&/service&
&sign&&![CDATA[F261997EFF2ECFAC372583]]&&/sign&
&total_fee&&![CDATA[1]]&&/total_fee&
正确的签名字段排序为:
body=测试支付&mch_create_ip=127.0.0.1&
mch_id=006&nonce_str=&
notify_url=http://227.0.0.1:9001/javak/sds?123&23=3&
out_trade_no=&service=pay.weixin.jspay&total_fee=1
1.2.2 签名算法
目前暂只支持 MD5 签名
MD5 是一种摘要生成算法,通过在签名原始串后加上商户通信密钥的内容,进行 MD5 运算,形成的摘要字符串即为签名结果。为了方便比较,签名结果统一转换为大写字符。
注意:签名时将字符串转化成字节流时指定的编码字符集应与参数 charset 一致。
MD5 签名计算公式:
sign = Md5(原字符串&key=商户密钥).toUpperCase
假设以下为 XML 传入参数:
&body&&![CDATA[测试支付]]&&/body&
&mch_create_ip&&![CDATA[127.0.0.1]]&&/mch_create_ip&
&mch_id&&![CDATA[006]]&&/mch_id&
&nonce_str&&![CDATA[]]&&/nonce_str&
&notify_url&&![CDATA[http://227.0.0.1:9001/javak/sds?123&23=3]]&&/notify_url&
&out_trade_no&&![CDATA[]]&&/out_trade_no&
&service&&![CDATA[pay.weixin.jspay]]&&/service&
&sign&&![CDATA[2CE21BDFD4C7]]&&/sign&
&total_fee&&![CDATA[1]]&&/total_fee&
假设商户密钥为:
e1cf0ddcf6b47b59cad717af
i:经过 a 过程 URL 键值对字典序排序后的字符串 string1 为:
body=测试支付&mch_create_ip=127.0.0.1&
mch_id=006&nonce_str=&
notify_url =http://227.0.0.1:9001/javak/sds?123&23=3&
out_trade_no=&service=pay.weixin.scancode&total_fee=1
ii:经过 b 过程后得到 sign 为:
sign=md5("#{string1}&key=e1cf0ddcf6b47b59cad717af").toUpperCase
=& md5("body=测试支付&mch_create_ip=127.0.0.1&mch_id=006&
nonce_str=&notify_url=http://227.0.0.1:9001/javak/sds?123&23=3&
out_trade_no=&service=pay.weixin.jspay&total_fee=1&
key=e1cf0ddcf6b47b59cad717af"
).toUpperCase()
=& "2CE21BDFD4C7"
1.3 获取微信用户的openid
1.4 测试环境
1.ULINE测试环境与正式环境数据不互通,如需测试环境参数请联系ULINE商务人员。
2.获取测试开发商户号以及秘钥,请联系ULINE技术对接人员
- 测试开发环境发生的交易为真实交易
- 测试环境无结算功能,请尽量在当天进行交易退款,否则第二天可能会导致无法退款
3.ULINE测试环境不支持微信公众号支付,微信公众号支付(如不需此支付方式,可跳过)请通知商户预先申请微信服务号,并通过微信认证,确保认证实体与提交到银行的商户资料一致。并提交&微信公众号支付设置申请表&
&微信公众号支付设置申请表&
商户名称、优畅商户号、微信APPID(公众号支付、扫码支付时传入的sub_appid)、支付授权目录1、支付授权目录2、默认关注公众号appid
1.5 注意事项
所有涉及到金额的单位都是分,最小的单位是 1 分,不能有小数出现
notify_url 是UChang服务器从后台直接发起请求到商户服务器,商户处理时不能检查用户的 cookie 或 session;
商户更新 DB 等发货流程需要在 notify_url 完成后,以确保掉单时,UChang补单能成功补上
notify_url 有可能重复通知,商户需要做去重处理,避免多次发货
notify_url 收到的通知,商户处理成功或检查订单已经处理,需要返回处理成功的标志“success”,以告知UChang不再通知
其它注意事项
参数大小写问题;请留意文档中要求的字符大小写问题, 如 “md5 运算后, 字符串的字符要转换为大写” 。
参数格式问题;所有传入参数,均为字符串类型,请注意文档中各处的具体要求。
时间戳问题;请使用 Linux
时间戳,注意为字符串格式。精确到秒,不需要到毫秒,即 10
同一商户订单号支付问题;商户的 out_trade_no
必须全局唯一。
注意:当商户的同一个商户号绑定了多种支付方式也需要加标识来区分,不能出现重复。当发起支付返回失败时,一定要用原订单的 out_trade_no
而不能重新生成新的订单号发起支付,避免同一单重复支付。
ULINE Weixin微信支付接口
文档版本 v1
接口版本 v1
API接口地址:请咨询运营人员,或参考我方技术对接流程文档
注:测试地址产生的交易也为正式扣款交易,但无结算功能,请商家尽量在当天进行退款
2.1下单接口
2.1.1业务功能
2.1.2交互模式
请求:后台请求交互模式
返回结果:后台请求交互模式
2.1.3请求参数列表
请求 url:/wechat/orders
&?xml version="1.0" encoding="UTF-8"?&
&mch_id&100010&/mch_id&
&total_fee&10&/total_fee&
&out_trade_no&5812281&/out_trade_no&
&body&BODY unif 支付测试&/body&
&attach&ATTACH unif 订单额外描述&/attach&
&detail&DETAIL unif 刷卡支付测试&/detail&
&spbill_create_ip&127.0.0.1&/spbill_create_ip&
&notify_url&http://127.0.0.1:3001/pay_notify/wechat_notify&/notify_url&
&nonce_str&e4d493bdf8c3c&/nonce_str&
&trade_type&NATIVE&/trade_type&
&sign&F68CEB8C4549&/sign&
成功返回示例
&return_code&SUCCESS&/return_code&
&return_msg&OK&/return_msg&
&result_code&SUCCESS&/result_code&
&mch_id&100010&/mch_id&
&nonce_str&AuBW53Js00QB9aS7&/nonce_str&
&sign&1B09E3D0ECAD8B1D556D4B&/sign&
&out_trade_no&5812281&/out_trade_no&
&code_url&weixin://wxpay/bizpayurl?pr=LLN0u7P&/code_url&
&prepay_id&wx2&/prepay_id&
&trade_type&NATIVE&/trade_type&
失败返回示例
&?xml version="1.0" encoding="UTF-8"?&
&return_code&FAIL&/return_code&
&return_msg&JSAPI支付必须传入openid或sub_openid&/return_msg&
POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
String(32)
商户微信公众号appid,app支付时,为在微信开放平台上申请的APPID
device_info
String(32)
终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传&WEB&
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
String(128)
String(8192 )
商品详细列表,使用Json格式,传输签名前请务必使用CDATA标签将JSON文本串保护起来。goods_detail 服务商必填 []:└ goods_id String 必填 32 商品的编号└ wxpay_goods_id String 可选 32 微信支付定义的统一商品编号└ goods_name String 必填 256 商品名称└ quantity Int 必填 商品数量└ price Int 必填 商品单价,单位为分└ goods_category String 可选 32 商品类目ID└ body String 可选 1000 商品描述信息
String(127)
附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
out_trade_no
String(32)
商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
String(16)
符合ISO 4217标准的三位字母代码,默认人民币:CNY
总金额,以分为单位,不允许包含任何字、符号
spbill_create_ip
String(16)
APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。
time_start
String(14)
订单生成时间,格式为yyyyMMddHHmmss,如日9点10分10秒表示为10
time_expire
String(14)
String(32)
商品标记,代金券或立减优惠功能的参数
notify_url
String(256)
接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
trade_type
String(16)
取值如下:JSAPI,NATIVE,APP,MWEB(H5支付)
product_id
String(32)
trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义。
String(32)
no_credit&指定不能使用信用卡支付
sub_openid
String(128)
trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。
String(32)
true&小程序支付;此字段控制 js_prepay_info 的生成,为true时js_prepay_info返回小程序支付参数,否则返回公众号支付参数
scene_info
String(256)
trade_type=MWEB,此参数必传。WAP网站应用 {&h5_info&: {&type&:&Wap&,&wap_url&: &WAP网站URL地址&,&wap_name&: &WAP网站名&}},IOS移动应用 {&h5_info&: {&type&:&IOS&,&app_name&: &应用名&,&bundle_id&: &包名&}},安卓移动应用 {&h5_info&: {&type&:&Android&,&app_name&: &应用名&,&package_name&: &包名&}}。H5支付建议只在Wap场景上使用。
payment_code
String(32)
支付通道代码, 详见下文
支付通道代码:
WX_OFFLINE_NATIVE
微信线下扫码支付
WX_OFFLINE_JSAPI
微信线下公众账号支付
WX_ONLINE_NATIVE
微信线上扫码支付
WX_ONLINE_JSAPI
微信线上公众账号支付
WX_ONLINE_APP
微信线上APP支付
WX_ONLINE_MWEB
微信线上H5支付
WX_DINE_NATIVE
微信围餐扫码支付
WX_DINE_JSAPI
微信围餐公众账号支付
WX_ZERO_NATIVE
微信零费率扫码支付
WX_ZERO_JSAPI
微信零费率公众账号支付
WX_ONE_NATIVE
微信千一扫码支付
WX_ONE_JSAPI
微信千一公众账号支付
注意:渠道商管理后台进件商户,通过银行商户审核,填写邮件地址里获取商户号以及对应接口密钥。
2.1.4返回结果
return_code
String(16)
SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断
return_msg
String(128)
返回信息,如非空,为错误原因 &签名失败& 参数格式校验错误
以下字段在return_code为SUCCESS的时候有返回
String(32)
商户号,由UChang分配
String(32)
商户微信appid
String(32)
随机字符串,不长于 32 位
result_code
String(16)
业务返回结果SUCCESS/FAIL
device_info
String(32)
终端设备号
String(32)
参考错误码
String (128)
结果信息描述
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
以下字段在return_code 和result_code都为SUCCESS的时候有返回
js_prepay_info 示例
"wx4f6b85ba45bc67eb",
"nonceStr":
"da39ddfea8ed90f7ceb9c1d2e55c907b",
"package":
"prepay_id=wx",
"paySign":
"6FEE9E71E89C8BF4336342",
"signType":
"timeStamp": "21"
app_prepay_info 示例
"appid": "wx8a", //app在微信开发平台的appid
"noncestr": "03a93ef6c1e0bfa7ffca868edaa9b4f3",
"package": "Sign=WXPay",
"partnerid": "",
"paySign": "84BCAB0EC4B",
"prepayid": "wx491dde933fd",
"timestamp": ""
trade_type
String(16)
调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,WMWEB
String(64)
String(64)
URl:weixin://wxpay/s/An4baqw
js_prepay_info
当trade_type 为 JSAPI 时存在, 用于微信原生支付
app_prepay_info
当trade_type 为 APP 时存在,用于APP调起微信支付,
String(64)
trade_type=MWEB时返回,mweb_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟。
2.2小额支付接口
2.2.1业务功能
支付后直接提交到优畅,定时清关
2.2.2交互模式
请求:后台请求交互模式
返回结果:后台请求交互模式
收银员使用扫码设备读取微信用户刷卡授权码以后,二维码或条码信息传送至商户收银台,由商户收银台或者商户后台调用该接口发起支付。
提醒1:提交支付请求后系统会同步返回支付结果。当返回结果为“系统错误”时,商户系统等待5秒后调用【查询订单API】,查询支付实际交易结果;当返回结果为“USERPAYING”时,商户系统可设置间隔时间(建议10秒)重新查询支付结果,直到支付成功或超时(建议30秒);
提醒2:在调用查询接口返回后,如果交易状况不明晰,请调用【撤销订单API】,此时如果交易失败则关闭订单,该单不能再支付成功;如果交易成功,则将扣款退回到用户账户。当撤销无返回或错误时,请再次调用。
注意:请勿调用扣款后立即调用【撤销订单API】,建议至少15s后再调用。
2.2.3请求参数列表
请求 url: /wechat/orders/micropay
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&total_fee&10&/total_fee&
&out_trade_no&2507613&/out_trade_no&
&auth_code&159891&/auth_code&
&device_info&1000&/device_info&
&body&BODY刷卡支付测试&/body&
&attach&ATTACH订单额外描述&/attach&
&detail&DETAIL刷卡支付测试&/detail&
&spbill_create_ip&14.17.22.52&/spbill_create_ip&
&nonce_str&abba192ccd034bdca65d29223db1cbe9&/nonce_str&
&sign&8D551DEFEAAC&/sign&
成功返回示例
&mch_id&100010&/mch_id&
&device_info&1000&/device_info&
&openid&o4GgauJhDxX7uKw3Ah9Pgsr0XXSA&/openid&
&total_fee&1&/total_fee&
&fee_type&CNY&/fee_type&
&return_code&SUCCESS&/return_code&
&bank_type&CFT&/bank_type&
&transaction_id&7&/transaction_id&
&trade_state&SUCCESS&/trade_state&
&return_msg&OK&/return_msg&
&sign&1C227D46C440EC501C60B87BA4514633&/sign&
&result_code&SUCCESS&/result_code&
&is_subscribe&N&/is_subscribe&
&out_trade_no&6912455&/out_trade_no&
&cash_fee&1&/cash_fee&
&nonce_str&uuXse9FQKDOXn4We&/nonce_str&
&trade_type&MICROPAY&/trade_type&
&attach&ATTACH订单额外描述&/attach&
&time_end&04&/time_end&
失败返回示例
&nonce_str&fGXOc2UERrsVZDum&/nonce_str&
&sign&46D05A5F87A0CCDA9DCE6F&/sign&
&result_code&FAIL&/result_code&
&err_code&USERPAYING&/err_code&
&return_msg&OK&/return_msg&
&out_trade_no&2507613&/out_trade_no&
&mch_id&100010&/mch_id&
&err_code_des&需要用户输入支付密码&/err_code_des&
&return_code&SUCCESS&/return_code&
&device_info&1000&/device_info&
String(32)
商户号,由UCHANG分配
device_info
String(32)
UCHANG支付分配的终端设备号
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
String(127)
String(256)
String(128)
商户附加信息,可做扩展参数,255 字符内
out_trade_no
String(32)
商户系统内部的订单号 ,32个字符内、 可包含字母,确保在商户系统唯一
总金额,以分为单位,不允许包含任何字、符号
String(16)
符合ISO 4217标准的三位字母代码,默认人民币:CNY
spbill_create_ip
String(16)
订单生成的机器 IP
String(32)
String(128)
扫码支付授权码, 设备读取用户展示的条码或者二维码信息
String(32)
no_credit&指定不能使用信用卡支付
payment_code
String(32)
支付通道代码, 详见下文
支付通道代码:
WX_OFFLINE_MICROPAY
微信线下刷卡支付
WX_DINE_MICROPAY
微信围餐刷卡支付
WX_ZERO_MICROPAY
微信零费率刷卡支付
WX_ONE_MICROPAY
微信千一刷卡支付
2.2.4返回结果
数据按 XML 的格式实时返回
return_code
String(16)
SUCCESS 表示成功非 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
device_info
String(32)
UChang支付分配的终端设备号
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
SUCCESS/FAIL
String(32)
具体错误码请看文档最后错误码列表
err_code_des
String (128)
结果信息描述
当return_code 和result_code都为SUCCESS的时,还会包括以下字段
sub_openid
String(128)
用户在商户 appid 下的唯一标识
is_subscribe
用户是否关注公众账号,仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注
sub_is_subscribe
用户是否关注子公众账号,仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注
trade_type
String(16)
String(6000)
实际提交的返回
String(16)
货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY
总金额,以分为单位,不允许包含任何字、符号
settlement_total_fee
应结订单金额=订单金额-非充值代金券金额,应结订单金额&=订单金额。
coupon_fee
现金券支付金额&=订单总金额, 订单总金额-现金券金额为现金支付金额
cash_fee_type
String(16)
符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见
订单现金支付金额
transaction_id
String(32)
UCHANG交易号。
out_trade_no
String(32)
商户系统内部的定单号,32 个字符内、可包含字母
String(128)
商家数据包,原样返回
String(14)
支付完成时间,格式为 yyyyMMddhhmmss,如2009 年 12 月 27 日 9 点 10 分 10 秒表示为10。时区为 GMT+8 beijing。该时间取自UChang服务器
out_transaction_id
String(32)
微信交易号
当调用扣款接口返回支付中或失败状态,需要调用查询接口查询订单实际支付状态 。
当遇到用户超过日限额需要输入密码返回“支付中”的状态,建议 10 秒调一次查询,调用
次后还未成功作支付超时处理。
超时未支付的订单系统将自动关闭
2.3关闭订单
2.3.1业务功能
以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。
2.3.2 交互模式
请求:后台请求交互模式
返回结果:后台请求交互模式
2.3.3 参数请求列表
请求URL:/wechat/orders/close
&mch_id&100010&/mch_id&
&out_trade_no&147480&/out_trade_no&
&nonce_str&af3ca480f76&/nonce_str&
&sign&BFE14FFC24D60&/sign&
成功返回示例
&nonce_str&gF3FQKUWQN3CgGOq&/nonce_str&
&sign&693C8C45BF933CDB&/sign&
&result_code&SUCCESS&/result_code&
&return_code&SUCCESS&/return_code&
&return_msg&OK&/return_msg&
&mch_id&100010&/mch_id&
失败返回示例
&mch_id&100010&/mch_id&
&nonce_str&YalRxVWOlPyOa4Jq&/nonce_str&
&sign&C82C6FC0E2DB&/sign&
&err_code&ORDERPAID&/err_code&
&err_code_des&order paid&/err_code_des&
&return_code&SUCCESS&/return_code&
&result_code&FAIL&/result_code&
&return_msg&OK&/return_msg&
POST XML 内容体进行请求
String(32)
String(32)
公众账号ID
out_trade_no
String(32)
商户系统内部的订单号
String(32)
随机字符串
String(32)
数据按 XML 的格式实时返回
return_code
String(16)
SUCCESS/FAIL
return_msg
String(16)
返回信息,如非空,为错误原因;签名失败;参数格式校验错误
以下字段在return_code为SUCCESS的时候有返回
String(32)
String(32)
随机字符串,不长于32位
String(32)
result_code
String(16)
业务返回结果SUCCESS/FAIL
String(32)
详细参见错误描述
err_code_des
String(128)
结果信息描述
支付交易返回失败或支付系统超时,调用该接口撤销交易。如果此订单用户支付失败,微信支付系统会将此订单关闭;如果用户支付成功,微信支付系统会将此订单资金退还给用户。
注意:5 分钟之内的订单才可以冲正,5 分钟之外其他正常支付的单如需实现相同功能请调 用退款接口。。提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。
请求:后台请求交互模式
返回结果:后台请求交互模式
请求参数列表
请求 url: /wechat/orders/reverse
&mch_id&100010&/mch_id&
&nonce_str&d86fb64ba723bdb80df8&/nonce_str&
&out_trade_no&6912455&/out_trade_no&
&sign&908CF8B1AB0D09BA8C242&/sign&
POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
String(32)
微信分配的子商户公众账号ID
transaction_id
String(32)
UCHANG订单号,优先使用
out_trade_no
String(32)
商户系统内部的订单号 ,32 个字符内、可包含字母,确保在商户系统唯一
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
数据按 XML 的格式实时返回
成功返回示例
&return_msg&OK&/return_msg&
&nonce_str&EFJCuYgkQY1aKgiy&/nonce_str&
&result_code&SUCCESS&/result_code&
&sign&DC449FF7869A8BBFEB075E797BEC3C1C&/sign&
&recall&N&/recall&
&return_code&SUCCESS&/return_code&
&mch_id&100010&/mch_id&
失败返回结果
&return_msg&OK&/return_msg&
&mch_id&100010&/mch_id&
&nonce_str&oUS5MI0QYDA5IQ0G&/nonce_str&
&sign&567F4CF3BBB6D842D1F6B&/sign&
&err_code&ERROR&/err_code&
&return_code&SUCCESS&/return_code&
&result_code&FAIL&/result_code&
&err_code_des&不是刷卡支付不允许使用撤销接口&/err_code_des&
&recall&Y&/recall&
return_code
String(16)
返回状态码,SUCCESS 表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
商户ID,由微信分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
SUCCESS 表示成功 FAIL 表示失败; SUCCESS 表示关单成功, 此笔订单不能再发起支付;若已支付完成,则会发起退款; FAIL 或其它表示关单接口异常,可再次发起关单操作;
String(32)
具体错误码请看文档最后错误码列表
err_code_des
String (128)
结果信息描述
是否需要继续调用撤销,Y-需要,N-不需要
2.5支付通知接口
后台通知通过请求中的 notify_url 进行, post
2.5.1 通知结果参数列表
通知 URL 是下单提交的参数 notify_url
支付完成后,ULINE会把相关支付和用户信 息发送到该 URL,商户需要接收处理信息。
对后台通知交互时,如果收到商户的应答不是成功或超时,ULINE认为通知失败
ULINE 会通过一定的策略(通知频率为 15/15/30/180/00/,单位:秒)定期重新发起通知, 尽可能 高通知的成功率,但不保证通知最终能成功。
由于存在重新发送后台通知的情况, 因此同样的通知可能会多次发送给商户系统。 商户系统必须能够正确处理重复的通知。
推荐的做法是, 当收到通知进行处理时, 首先检查对应业务数据的状态, 判断该通 知是否已经处理过, 如果没有处理过再进行处理, 如果处理过直接返回结果成功。 在对业务 数据进行状态检查和处理之前, 要采用数据锁进行并发控制, 以避免函数重入造成的数据混 乱。
特别注意:商户后台接收到通知参数后,要对接收到通知参数里的订单号 out_trade_no 和订单金额 total_fee 和自身业务系统的订单和金额做校验,校验一致后才更新数据库订单状态
ULINE后台通过 notify_url 通知商户,商户做业务处理后,需要以字符串的形式反馈处理结果,内容如下:
&return_code&SUCCESS&/return_code&
&result_code&SUCCESS&/result_code&
&mch_id&100010&/mch_id&
&nonce_str&32bad9a77a7de7f4df25e&/nonce_str&
&transaction_id&0&/transaction_id&
&fee_type&CNY&/fee_type&
&openid&o4GgauJhDxX7uKw3Ah9Pgsr0XXSA&/openid&
&total_fee&10&/total_fee&
&cash_fee&10&/cash_fee&
&attach&ATTACH unif 测试&/attach&
&is_subscribe&N&/is_subscribe&
&bank_type&CFT&/bank_type&
&time_end&20&/time_end&
&out_trade_no&7009386&/out_trade_no&
&trade_type&NATIVE&/trade_type&
&sign&F054CEEE05A48D0CFE04B9CF4CE07295&/sign&
return_code
String(16)
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
微信分配的账号ID
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
device_info
String(32)
UCHANG分配的终端设备号
sub_openid
String(128)
用户在商户的唯一标识
is_subscribe
用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效
sub_is_subscribe
用户是否关注子公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效
transaction_id
String(32)
UCHANG交易号。
out_trade_no
String(32)
商户系统内部的定单号,32 个字符内、可包含字母
String(128)
商家数据包,原样返回
String(14)
支付完成时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表示为 10。时区为 GMT+8 beijing。该时间取自UChang服务器
trade_type
String(16)
交易类型, JSAPI MICROPAY
String(16)
总金额,以分为单位,不允许包含任何字、 符号
货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY
现金支付金额订单现金支付金额
cash_fee_type
String(16)
货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
coupon_fee
现金券支付金额&=订单总金额, 订单总金额 -现金券金额为现金支付金额
coupon_count
代金券或立减优惠使用数量
coupon_batch_id_\$n
String(20)
代金券或立减优惠批次ID ,$n为下标,从1开始编号
coupon_id_\$n
String(20)
代金券或立减优惠ID, $n为下标,从1开始编号
out_transaction_id
String(32)
微信交易号
后台通知结果反馈
商户处理后同步返回给ULINE参数:
&return_code&SUCCESS&/return_code&
return_code
String(16)
返回状态码, SUCCESS
SUCCESS/FAIL SUCCESS表示商户接收通知成功并校验成功
return_msg
String(128)
返回信息,如非空,为错误原因: 签名失败 参数格式校验错误
SYSTEMERROR
接口返回(系统)错误
PARAM_ERROR
订单已支付
商户无权限
AUTHCODEEXPIRE
二维码已过期,请用户在微信上刷新后再试
NOTSUPORTCARD
不支持卡类型
ORDERCLOSED
订单已关闭
ORDERREVERSED
订单已撤销
银行系统异常
USERPAYING
用户支付中,需要输入密码
AUTH_CODE_ERROR
授权码参数错误
AUTH_CODE_INVALID
授权码检验错误
XML_FORMAT_ERROR
XML 格式错误
REQUIRE_POST_METHOD
请使用 post 方法
Signature error
LACK_PARAMS
编码格式错误
BUYER_MISMATCH
支付帐号错误
APPID_NOT_EXIST
APPID 不存在
MCHID_NOT_EXIST
MCHID 不存在
OUT_TRADE_NO_USED
商户订单号重复
APPID_MCHID_NOT_MATCH
appid 和 mch_id 不匹配
ORDERNOTEXIST
此交易订单号不存在
ULINE Weixin支付查询&退款接口
订单查询接口
根据商户订单号或者UCHANG订单号查询UCHANG的具体订单信息。
后台系统调用交互模式
请求参数列表
请求 url:/wechat/orders/query
&mch_id&100010&/mch_id&
&out_trade_no&7009386&/out_trade_no&
&nonce_str&d4f774ae4e760d&/nonce_str&
&sign&F472DC27B2ADD3B15E9BA6&/sign&
通过 POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
transaction_id
String(32)
UCHANG交 易 号 ,
out_trade_no
和 transaction_id 至少一个必填,同时存在时 transaction_id 优先。
out_trade_no
String(32)
商户系统内部的订单号, out_trade_no 和 transaction_id 至少一个必填,同时存在时transaction_id 优先
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
返回成功示例
&sign&6CBFBB6CA0CA7&/sign&
&openid&o4GgauJhDxX7uKw3Ah9Pgsr0XXSA&/openid&
&out_trade_no&7009386&/out_trade_no&
&trade_state&SUCCESS&/trade_state&
&return_msg&OK&/return_msg&
&result_code&SUCCESS&/result_code&
&attach&ATTACH unif 订单额外描述&/attach&
&time_end&20&/time_end&
&is_subscribe&N&/is_subscribe&
&trade_type&NATIVE&/trade_type&
&bank_type&CFT&/bank_type&
&total_fee&10&/total_fee&
&return_code&SUCCESS&/return_code&
&mch_id&100010&/mch_id&
&nonce_str&fKuVlQSp5nKjMSat&/nonce_str&
&fee_type&CNY&/fee_type&
&transaction_id&0&/transaction_id&
&cash_fee&10&/cash_fee&
detail 字段说明
商品详细列表,使用Json格式,传输签名前请务必使用CDATA标签将JSON文本串保护起来。
如果使用了单品优惠,会有单品优惠信息返回
discount_detail []:
└ goods_id String 必填 32 商品的编号
└ goods_name String 必填 256 商品名称
└ coupon_batch_id String 必填 代金券批次ID
└ coupon_id String 必填 代金卷ID
└ coupon_fee Int 必填 代金券支付金额,单位为分
detail 示例
"discount_detail": [
"goods_id": "iphone6s_16G",
"goods_name": "iPhone6s 16G",
"coupon_batch_id": 888,
"coupon_id": 666888,
"coupon_fee": 1000
"goods_id": "iphone6s_32G",
"goods_name": "iPhone6s 32G",
"coupon_batch_id": 999,
"coupon_id": 666999,
"coupon_fee": 1500
数据按 XML 的格式实时返回
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
device_info
String(32)
UCHANG分配的终端设备号
sub_openid
String(128)
用户在商户的唯一标识
is_subscribe
用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效
sub_is_subscribe
用户是否关注子公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效
trade_type
String(16)
交易类型, JSAPI MICROPAY
trade_state
String(32)
SUCCESS—支付成功
REFUND—转入退款
NOTPAY—未支付
CLOSED—已关闭
REVERSE—已冲正
REVOKED—已撤销
USERPAYING—用户支付中
PAYERROR&支付失败(其他原因,如银行返回失败)
String(16)
String(8192)
商品详细列表
总金额,以分为单位,不允许包含任何字、 符号
货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY
现金支付金额订单现金支付金额
cash_fee_type
String(16)
货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
coupon_fee
现金券支付金额&=订单总金额, 订单总金额 -现金券金额为现金支付金额
coupon_count
代金券或立减优惠使用数量
coupon_batch_id_\$n
String(20)
代金券或立减优惠批次ID ,$n为下标,从1开始编号
coupon_id_\$n
String(20)
代金券或立减优惠ID, $n为下标,从1开始编号
transaction_id
String(32)
UCHANG交易号。
out_trade_no
String(32)
商户系统内部的定单号,32 个字符内、可包含字母
String(128)
商家数据包,原样返回
String(14)
支付完成时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表示为 10。时区为 GMT+8 beijing。该时间取自UChang服务器
trade_state_desc
String(256)
对当前查询订单状态的描述和下一步操作的指引
3.2退款接口
3.2.1业务功能
商户针对某一个已经成功支付的订单发起退款,操作结果在同一会话中同步返回。
同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no 。一笔退款失败后重新 交,要采用原来 的 out_refund_no。总退款金额不能超过用户实际支付金额(现金券金额不能退款)。
一、退款方式
目前只支持原路返回退款与退款至微信余额账户两种。
说明:退到银行卡则是非实时的,每个银行的处理速度不同,一般发起退款后 1-3 个工作日内到账。
同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no 。一笔退款失败后重新 交,要采用原来 的 out_refund_no。总退款金额不能超过用户实际支付金额(现金券金额不能退款)
二、退款限制
商户在退款操作时应该注意退款限制,避免发起不会成功的退款请求,下面是主要的退款限制:
在UCHANG系统中,只要退款累计金额不超过交易单支付总额,一笔交易单可以多次退款,退款申请单号
(退款接口中有此参数)唯一确定一次退款,而不是交易单号确定一次退款。退款申请单号由商户生成,所以商户一定要保证退款申请单的唯一性。商家在退款过程中要特别注意,只有在能确定退款失败的情况下,才能重新发起另一笔退款。
目前大多数银行都支持全额退款和部分退款,但是也有少数银行不支持全额退款或部分退款,或者不支持退款。在这种情况下,商户可以与买家协调,退到微信余额账户中。 目前只
供无钥退款接口,需要有钥退款接口的商户,请联系商务说明。
退款时,会检查当天商户的微信交易收益余额是否足够退款,如果充足则可以退款。如果商户今日收益不足,则退款报错,需要等该商户当日收益增加到足够退款后,才能退款成功。
后台系统调用交互模式
请求参数列表
请求url:/wechat/refunds
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&out_trade_no&8231101&/out_trade_no&
&out_refund_no&&/out_refund_no&
&transaction_id&&/transaction_id&
&total_fee&10&/total_fee&
&refund_fee&10&/refund_fee&
&op_user_id&&/op_user_id&
&nonce_str&24df0fdd4&/nonce_str&
&sign&B92FC8CB9A7776&/sign&
String(32)
商户号,由UChang分配
device_info
String(32)
终端设备号
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
transaction_id
String(32)
UChang单号, out_trade_no 和 transaction_id 至少一个必填,同时存在时 transaction_id 优先
out_trade_no
String(32)
商 户 系 统 内 部 的 订 单 号 , out_trade_no 和 transaction_id 至少一个必填,同时存在时 transaction_id 优先
out_refund_no
String(32)
商户退款单号,32 个字符内、可包含字母,确保在商户系统唯一。同个退款单号多次请求,UChang当一个单处理,只会退一次款。如果出现退款不成功,请采用原退款单号重新发起,避免出现重复退款。
订单总金额,单位为分
refund_fee
退款总金额,单位为分,可以做部分退款
refund_fee_type
货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
op_user_id
String(32)
操作员帐号,默认为商户号
数据按 XML 的格式实时返回
&refund_fee&10&/refund_fee&
&total_fee&10&/total_fee&
&cash_fee&10&/cash_fee&
&coupon_refund_count&0&/coupon_refund_count&
&return_code&SUCCESS&/return_code&
&transaction_id&9&/transaction_id&
&out_trade_no&8231101&/out_trade_no&
&out_refund_no&&/out_refund_no&
&refund_id&1&/refund_id&
&mch_id&100010&/mch_id&
&nonce_str&LciljA23wHgR8HU0&/nonce_str&
&result_code&SUCCESS&/result_code&
&sign&18CF4FCC48F771A5FFA7251CAA6EE3F7&/sign&
&refund_channel&&/refund_channel&
&coupon_refund_fee&0&/coupon_refund_fee&
&cash_refund_fee&10&/cash_refund_fee&
&return_msg&OK&/return_msg&
return_code
String(16)
SUCCESS 表示成功 FAIL 表示失败 此字段是通信标识,非交易 标识,交易是否成功需要查 看 result_code 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
result_code
String(16)
SUCCESS 表示成功非 FAIL 表示失败
String(32)
参考错误码
err_code_des
String(128)
结果信息描述
String(32)
商户号,由UCHANG分配
device_info
String(32)
UCHANG支付分配的终端设备号
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
transaction_id
String(28)
UCHANG 订单号
out_trade_no
String(32)
商户订单号
out_refund_no
String(32)
商户退款单号
String(28)
ULINE退款单号
refund_channel
String(16)
退款渠道, ORIGINAL—原路退款 BALANCE—退回到余额
refund_fee
退款总金额,单位为分,可以做部分退款
订单总金额,单位为分,只能为整数
订单金额货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
现金支付金额,单位为分,只能为整数
cash_refund_fee
现金退款金额,单位为分,只能为整数
coupon_type_\$n
CASH&充值代金券 NO_CASH&非充值代金券 订单使用代金券时有返回(取值:CASH、NO_CASH)。\$n为下标,从0开始编号,举例coupon_type_0
coupon_refund_fee_\$n
代金券退款金额&=退款金额,退款金额-代金券或立减优惠退款金额为现金
coupon_refund_count_\$n
退款代金券使用数量 ,\$n为下标,从0开始编号
coupon_refund_batch_id_$n_$m
String(20)
退款代金券批次ID ,\$n为下标,\$m为下标,从0开始编号
coupon_refund_id_\$n_\$m
String(20)
退款代金券ID, \$n为下标,\$m为下标,从0开始编号
coupon_refund_fee_\$n_\$m
单个退款代金券支付金额, \$n为下标,\$m为下标,从0开始编号
退款查询接口
交退款申请后, 通过调用该接口查询退款状态。 退款有一定延时, 请在 3 个工作日后重新查询退款状态。
请求参数列表
请求url:/wechat/refunds/query
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&out_trade_no&8231101&/out_trade_no&
&transaction_id&&/transaction_id&
&refund_id&&/refund_id&
&out_refund_no&&/out_refund_no&
&nonce_str&befbbc8e34836ecb1880df&/nonce_str&
&sign&408EDBBBB525EF1F602F85&/sign&
String(32)
商户号,由UCHANG分配
device_info
String(32)
商户自定义的终端设备号,如门店编号、设备的ID等
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
transaction_id
String(32)
UCHANG单号, out_trade_no 和 transaction_id 至少一个必填,同时存在时 transaction_id 优先
out_trade_no
String(32)
商 户 系 统 内 部 的 订 单 号 , out_trade_no 和 transaction_id 至少一个必填,同时存在时 transaction_id 优先
out_refund_no
String(32)
商户退款单号,32 个字符内、可包含字母,确保在商户系统唯一。
String(32)
UChang退款单号 refund_id、out_refund_no、 out_trade_no 、 transaction_id 四个参数必填一个, 如果同事存在优先级为: refund_id&out_refund_no&t ransaction_id&out_trade_no
数据按 XML 的格式实时返回
&refund_id_0&1&/refund_id_0&
&total_fee&10&/total_fee&
&return_code&SUCCESS&/return_code&
&return_msg&OK&/return_msg&
&sign&FF9F35F6FAE91CC905A4AD9&/sign&
&mch_id&100010&/mch_id&
&nonce_str&vlWU4yN65eB1HFRQ&/nonce_str&
&refund_channel_0&ORIGINAL&/refund_channel_0&
&refund_count&1&/refund_count&
&refund_status_0&SUCCESS&/refund_status_0&
&out_trade_no&8231101&/out_trade_no&
&refund_fee&10&/refund_fee&
&refund_recv_accout_0&支付用户的零钱&/refund_recv_accout_0&
&cash_fee&10&/cash_fee&
&out_refund_no_0&&/out_refund_no_0&
&refund_fee_0&10&/refund_fee_0&
&result_code&SUCCESS&/result_code&
&transaction_id&9&/transaction_id&
return_code
String(16)
SUCCESS 表示成功非 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
refund_status_$n 退款状态说明
SUCCESS—退款成功
FAIL—退款失败
PROCESSING—退款处理中
CHANGE—转入代发
退款到银行发现用户的卡作废或者冻结了
导致原路退款银行卡失败,资金回流到商户的现金帐号
需要商户人工干预,通过线下或者财付通转账的方式进行退款。
result_code
String(16)
业务结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
错误代码,参考错误码
err_code_des
String(128)
错误代码描述
String(32)
device_info
String(32)
String(32)
随机字符串
String(32)
transaction_id
String(32)
UCHANG交易号。
out_trade_no
String(32)
商户系统内部的订单号
out_refund_no
String(32)
商户退款单号
String(32)
UCHANG退款单号
refund_channel
String(16)
ORIGINAL—原路退款, BALANCE—退回到余额
refund_fee
退款总金额,单位为分,可以做部分退款
订单总金额,单位为分,只能为整数
订单金额货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
现金支付金额,单位为分,只能为整数
cash_refund_fee
现金退款金额,单位为分,只能为整数
coupon_refund_fee_\$n
现金券退款金额 &= 退款金额, 退款金额-现金券退款金额为现金额
coupon_refund_count_$n
退款代金券使用数量 ,\$n为下标,从0开始编号
coupon_refund_batch_id_\$n_\$m
String(20)
退款代金券批次ID ,$n为下标,$m为下标,从0开始编号
refund_count
退款记录数
coupon_refund_id_\$n_\$m
String(20)
退款代金券ID, \$n为下标,\$m为下标,从0开始编号
coupon_refund_fee_\$n_\$m
单个退款代金券支付金额, \$n为下标,\$m为下标,从0开始编号
refund_status_\$n
String(32)
ULINE Alipay支付接口文档
文档版本 v1
接口版本 v1
注:测试地址产生的交易也为正式扣款交易,但无结算功能,请商家尽量在当天进行退款
4.1支付宝刷卡支付
刷卡支付是支付宝给到线下传统行业的一种收款方式。商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款。用户仅需出示付款码,所有收款操作由商家端完成。
使用步骤:
用户登陆支付宝钱包,点击首页“付款”,进入付款码界面;
收银员在商家收银系统操作生成订单,用户确认支付金额;
用户出示钱包的“付款码”,收银员用扫码设备来扫描用户手机上的条码/二维码后,商家收银系统提交支付;
付款成功后商家收银系统会拿到支付成功或者失败的结果。
4.1.1 业务功能
收银员使用扫码设备读取用户手机支付宝“付款码”/声波获取设备(如麦克风)读取用户手机支付宝的声波信息后,将二维码或条码信息/声波信息通过本接口上送至支付宝发起支付。
4.1.2交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
支付宝刷卡支付提供异步回调接口,一般线下刷卡支付需要当面确认结果,故商户如需立马确认订单支付结果,请按照以下流程制定您的开发逻辑。
当调用扣款接口返回支付中或失败状态,需要调用查询接口查询订单实际支付状态 。 当遇到用户超过日限额需要输入密码返回“支付中”的状态,建议 10 秒调一次查询,调用 3 次后还未成功作支付超时处理。
发起轮询流程:
等待5秒后调用交易查询接口通过支付时传入的商户订单号(out_trade_no)查询支付结果(返回参数trade_state)
如果仍然返回等待用户付款(WAIT_BUYER_PAY),则再次等待5秒后继续查询,直到返回确切的支付结果(成功TRADE_SUCCESS 或已撤销关闭TRADE_CLOSED),或是超出轮询时间。
在最后一次查询仍然返回等待用户付款的情况下,必须立即调用交易撤销接口将这笔交易撤销,避免用户继续支付。
4.1.3请求参数列表
请求 url:/alipay/orders/micropay
&mch_id&100010&/mch_id&
&nonce_str&8b4a90e9d1ab6381c8cdfd4&/nonce_str&
&sign&98AE2BD7A7EC154C329CE&/sign&
&total_fee&1&/total_fee&
&out_trade_no&&/out_trade_no&
&body&test qrcode pay&/body&
&auth_code&431103&/auth_code&
&scene&bar_code&/scene&
&spbill_create_ip&127.0.0.1&/spbill_create_ip&
&notify_url&http://127.0.0.1:3000/pay_notify/wechat_notify&/notify_url&
POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
notify_url
String(256)
接收ULINE支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
device_info
String(32)
终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传&WEB&
总金额,以分为单位,不允许包含任何字、符号
out_trade_no
String(32)
商户系统内部的订单号 ,32个字符内、 可包含字母,确保在商户系统唯一
String(128)
String(128)
String(128)
商家数据包
timeout_express
该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m
String(128)
扫码支付授权码, 设备读取用户展示的条码或者二维码信息
String(32)
支付场景 条码支付,取值:bar_ 声波支付,取值:wave_code
spbill_create_ip
String(16)
APP和网页支付提交用户端ip,Native支付填调用支付API的机器IP。
String(32)
禁止用户使用的支付渠道,多个渠道时使用&,&分隔。pcredit花呗,pcreditpayInstallment花呗分期,creditCard信用卡,creditCardExpress信用卡快捷,creditCardCartoon信用卡卡通,credit_group信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期),point积分,voucher营销券,promotion优惠(包含实时优惠+商户优惠)。
payment_code
String(32)
支付通道代码, 详见下文
支付通道代码:
ALI_OFFLINE_MICROPAY
支付宝线下刷卡支付
ALI_ZERO_MICROPAY
支付宝零费率刷卡支付
4.1.4返回结果
&return_code&SUCCESS&/return_code&
&result_code&SUCCESS&/result_code&
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&transaction_id&8&/transaction_id&
&out_transaction_id&5788&/out_transaction_id&
&total_fee&1&/total_fee&
&openid&hao***@126.com&/openid&
&trade_type&MICROPAY&/trade_type&
&time_end&03&/time_end&
&nonce_str&84cea56b3ede5aec61301c&/nonce_str&
&sign&FBC15DA00DD48AAC2C98F26C978A381E&/sign&
等待用户付款返回示例
&return_code&SUCCESS&/return_code&
&result_code&FAIL&/result_code&
&err_code&USERPAYING&/err_code&
&err_message&等待用户付款&/err_message&
&mch_id&100010&/mch_id&
&nonce_str&11aadb68554&/nonce_str&
&sign&D46B4C9EAE30F241C8B2A237D0D0D7C4&/sign&
数据按 XML 的格式实时返回
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
业务返回结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
out_trade_no
String(32)
商户系统内部的订单号
out_transaction_id
String(32)
支付宝交易号
transaction_id
String(32)
UCHANG交易号。
总金额,以分为单位,不允许包含任何字、 符号
String(128)
用户支付宝的账户名
trade_type
String(16)
交易类型,MICROPAY
String(14)
支付完成时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表示为 10。时区为 GMT+8 beijing。该时间取自支付宝服务器
String(128)
商家数据包
4.2支付宝JSAPI支付
4.2.1业务功能
创建订单+JSAPI唤起收银台支付
4.2.2交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
4.2.3请求参数列表
请求 url:/alipay/orders/create
&mch_id&100010&/mch_id&
&body&test qrcode pay&/body&
&total_fee&1&/total_fee&
&buyer_id&0644&/buyer_id&
&spbill_create_ip&127.0.0.1&/spbill_create_ip&
&notify_url&http://127.0.0.1:3000/pay_notify/wechat_notify&/notify_url&
&out_trade_no&&/out_trade_no&
&nonce_str&ffbd92386bb16&/nonce_str&
&sign&CEC4F2F25AFE65DD92ABA4B56B646E9F&/sign&
POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
notify_url
String(256)
接收ULINE支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
device_info
String(32)
终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传&WEB&
总金额,以分为单位,不允许包含任何字、符号
out_trade_no
String(32)
商户系统内部的订单号 ,32个字符内、 可包含字母,确保在商户系统唯一
String(128)
String(128)
String(128)
商家数据包
timeout_express
该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m
spbill_create_ip
String(16)
APP和网页支付提交用户端ip,Native支付填调用支付API的机器IP。
String(28)
买家的支付宝唯一用户号(2088开头的16位纯数字),和buyer_logon_id不能同时为空
buyer_logon_id
String(100)
买家支付宝账号,和buyer_id不能同时为空
String(32)
禁止用户使用的支付渠道,多个渠道时使用&,&分隔。pcredit花呗,pcreditpayInstallment花呗分期,creditCard信用卡,creditCardExpress信用卡快捷,creditCardCartoon信用卡卡通,credit_group信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期),point积分,voucher营销券,promotion优惠(包含实时优惠+商户优惠)。
payment_code
String(32)
支付通道代码, 详见下文
支付通道代码:
ALI_OFFLINE_JSAPI
支付宝线下JS支付
ALI_ZERO_JSAPI
支付宝零费率公众号支付
4.2.4返回结果
&return_code&SUCCESS&/return_code&
&result_code&SUCCESS&/result_code&
&mch_id&100010&/mch_id&
&nonce_str&6c4f38bdb28e139e716885&/nonce_str&
&sign&5D553F64CEF6AAFF12BFEC1559DED3C1&/sign&
&js_prepay_info&{"trade_no":"7929"}&/js_prepay_info&
&out_trade_no&&/out_trade_no&
自行唤起支付JS收银台步骤
// 通过传入交易号唤起快捷调用方式(注意tradeNO大小写严格)
// 调用示例,首先监听AlipayJSBridgeReady事件
document.addEventListener('AlipayJSBridgeReady', function () {
$("#payLogButton").click(function () {
AlipayJSBridge.call("tradePay", {
tradeNO: "0752"
}, function (result) {
console.log(JSON.stringify(result));
}, false);
数据按 XML 的格式实时返回
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
业务返回结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
js_prepay_info
String(32)
JSON 字符串,自行唤起支付宝钱包支付
out_trade_no
String (128)
商户订单号
4.3支付宝扫码支付
扫码支付,指用户打开支付宝钱包中的“扫一扫”功能,扫描商家展示在某收银场景下的二维码并进行支付的模式。该模式适用于线下实体店支付、面对面支付等场景。
使用步骤:
用户登陆支付宝钱包,点击首页“付款-扫码付”,进入扫一扫界面;
收银员在商家收银系统操作生成支付宝订单,用户确认支付金额,并生成二维码;
用户使用钱包的“扫码付”,扫收银员提供的二维码,确认支付;
用户付款后商家收银系统会拿到支付成功或者失败的结果。
4.3.1业务功能
收银员通过收银台或商户后台调用支付宝接口,生成二维码后,展示给用户,由用户扫描二维码完成订单支付。
4.3.2交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
4.3.3请求参数列表
请求 url:/alipay/orders/precreate
&mch_id&100010&/mch_id&
&body&test qrcode pay&/body&
&spbill_create_ip&127.0.0.1&/spbill_create_ip&
&notify_url&http://127.0.0.1:3000/pay_notify/wechat_notify&/notify_url&
&out_trade_no&&/out_trade_no&
&total_fee&1&/total_fee&
&nonce_str&613cc878bfaf795ca4028&/nonce_str&
&sign&23F57BE41ADBA&/sign&
POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
notify_url
String(256)
接收ULINE支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
device_info
String(32)
终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传&WEB&
总金额,以分为单位,不允许包含任何字、符号
out_trade_no
String(32)
商户系统内部的订单号 ,32个字符内、 可包含字母,确保在商户系统唯一
String(128)
String(128)
timeout_express
该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m
spbill_create_ip
String(16)
APP和网页支付提交用户端ip,Native支付填调用支付API的机器IP。
String(32)
禁止用户使用的支付渠道,多个渠道时使用&,&分隔。pcredit花呗,pcreditpayInstallment花呗分期,creditCard信用卡,creditCardExpress信用卡快捷,creditCardCartoon信用卡卡通,credit_group信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期),point积分,voucher营销券,promotion优惠(包含实时优惠+商户优惠)。
payment_code
String(32)
支付通道代码, 详见下文
支付通道代码:
ALI_OFFLINE_NATIVE
支付宝线下扫码支付
ALI_ZERO_NATIVE
支付宝零费率扫码支付
4.3.4返回结果
&mch_id&100010&/mch_id&
&nonce_str&ace6fde88f8d9df3f115&/nonce_str&
&sign&96A61EDA193A&/sign&
&return_code&SUCCESS&/return_code&
&result_code&SUCCESS&/result_code&
&out_trade_no&&/out_trade_no&
&qr_code&https://qr.alipay.com/bax07373idjoaqyvma3r404c&/qr_code&
数据按 XML 的格式实时返回
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
业务返回结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
String(32)
此参数可直接生成二维码展示出来进行扫码支付
out_trade_no
String (128)
商户订单号
4.4关闭订单
4.4.1业务功能
用于交易创建后,用户在一定时间内未进行支付,可调用该接口直接将未付款的交易进行关闭。
4.4.2交互模式
请求:后台请求交互模式
返回结果:后台请求交互模式
4.4.3请求参数列表
请求 url:/alipay/orders/close
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&nonce_str&67871cabafb70213bc44&/nonce_str&
&sign&EB&/sign&
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
out_trade_no
String(32)
商户系统内部的订单号
4.4.4返回结果
数据按 XML 的格式实时返回
&return_code&SUCCESS&/return_code&
&result_code&SUCCESS&/result_code&
&nonce_str&286c90b1a89ca7e8eedf950b7b10b5ce&/nonce_str&
&sign&47C0EA198A21B4F5C861E&/sign&
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
业务返回结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
out_trade_no
String(32)
商户系统内部的订单号
4.5撤销订单
4.5.1业务功能
支付交易返回失败或支付系统超时,调用该接口撤销交易。
如果此订单用户支付失败,支付宝系统会将此订单关闭;
如果用户支付成功,支付宝系统会将此订单资金退还给用户。
只有发生支付系统超时或者支付结果未知时可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款API。
提交刷卡支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。
注意:5 分钟之内的订单才可以撤销,5 分钟之外其他正常支付的单如需实现相同功能请调 用退款接口。提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。
4.5.2交互模式
请求:后台请求交互模式
返回结果:后台请求交互模式
4.5.3请求参数列表
请求 url:/alipay/orders/cancel
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&nonce_str&256a6d75afd237dd23b7c3&/nonce_str&
&sign&576B406D301A6D16B68A&/sign&
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于32位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
out_trade_no
String(32)
商户系统内部的订单号
4.5.4返回结果
数据按 XML 的格式实时返回
&result_code&SUCCESS&/result_code&
&return_code&SUCCESS&/return_code&
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&retry_flag&N&/retry_flag&
&nonce_str&bab4f6dd14feda4fc033&/nonce_str&
&sign&A59C5B210D77A259B84F2EC&/sign&
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
业务返回结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
out_trade_no
String(32)
商户系统内部的订单号
retry_flag
是否需要重试
4.6ULINE支付宝订单通知接口说明
后台通知通过请求中的 notify_url 进行 post
4.6.1 通知结果参数列表
通知 URL 是下单提交的参数 notify_url
支付完成后,ULINE会把相关支付和用户信 息发送到该 URL,商户需要接收处理信息。
对后台通知交互时,如果收到商户的应答不是成功或超时,ULINE认为通知失败
ULINE 会通过一定的策略(通知频率为 15/15/30/180/00/,单位:秒)定期重新发起通知, 尽可能 高通知的成功率,但不保证通知最终能成功。
由于存在重新发送后台通知的情况, 因此同样的通知可能会多次发送给商户系统。 商户系统必须能够正确处理重复的通知。
推荐的做法是, 当收到通知进行处理时, 首先检查对应业务数据的状态, 判断该通 知是否已经处理过, 如果没有处理过再进行处理, 如果处理过直接返回结果成功。 在对业务 数据进行状态检查和处理之前, 要采用数据锁进行并发控制, 以避免函数重入造成的数据混 乱。
特别注意:商户后台接收到通知参数后,要对接收到通知参数里的订单号 out_trade_no 和订单金额 total_fee 和自身业务系统的订单和金额做校验,校验一致后才更新数据库订单状态
ULINE后台通过 notify_url 通知商户,商户做业务处理后,需要以字符串的形式反馈处理结果,内容如下:
&openid&hao***@126.com&/openid&
&result_code&SUCCESS&/result_code&
&total_fee&1&/total_fee&
&time_end&16&/time_end&
&out_trade_no&&/out_trade_no&
&return_code&SUCCESS&/return_code&
&trade_type&MICROPAY&/trade_type&
&mch_id&100010&/mch_id&
&out_transaction_id&9750&/out_transaction_id&
&trade_state&TRADE_SUCCESS&/trade_state&
&transaction_id&3&/transaction_id&
&cash_fee&1&/cash_fee&
&nonce_str&cea0ea11d5bb7fd8fb44fb&/nonce_str&
&sign&416B478AABC0DACE8436D1&/sign&
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
业务返回结果,SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
device_info
String(32)
UCHANG分配的终端设备号
out_trade_no
String(32)
商户系统内部的订单号
out_transaction_id
String(32)
对应支付宝交易记录账单详情中的交易号
transaction_id
String(32)
UCHANG交易号。
总金额,以分为单位,不允许包含任何字、 符号
String(128)
用户支付宝的账户名
String(128)
商家数据包
trade_type
String(16)
交易类型MICROPAY 支付宝刷卡支付 JSAPI 支付宝JS支付
NATIVE 支付宝二维码支付
trade_state
String(16)
WAIT_BUYER_PAY 交易创建,等待买家付款 TRADE_CLOSED 未付款交易超时关闭,或支付完成后全额退款 TRADE_SUCCESS 交易支付成功 TRADE_FINISHED 交易结束,不可退款
String(14)
支付完成时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表示为 10。时区为 GMT+8 beijing。该时间取自支付宝服务器
4.6.2后台通知结果反馈
商户处理后同步返回给ULINE参数:
&return_code&SUCCESS&/return_code&
return_code
String(16)
返回状态码, SUCCESS
SUCCESS/FAIL SUCCESS表示商户接收通知成功并校验成功
return_msg
String(128)
返回信息,如非空,为错误原因: 签名失败 参数格式校验错误
4.7支付宝接口错误码
ACQ.SYSTEM_ERROR
接口返回错误
请立即调用查询订单API,查询当前订单的状态,并根据订单状态决定下一步的操作
ACQ.INVALID_PARAMETER
检查请求参数,修改后重新发起请求
ACQ.ACCESS_FORBIDDEN
无权限使用接口
联系支付宝小二签约
ACQ.EXIST_FORBIDDEN_WORD
订单信息中包含违禁词
修改订单信息后,重新发起请求
ACQ.PARTNER_ERROR
应用APP_ID填写错误
联系支付宝小二,确认APP_ID的状态
ACQ.TOTAL_FEE_EXCEED
订单总金额超过限额
修改订单金额再发起请求
ACQ.CONTEXT_INCONSISTENT
交易信息被篡改
更换商家订单号后,重新发起请求
ACQ.TRADE_HAS_SUCCESS
交易已被支付
确认该笔交易信息是否为当前买家的,如果是则认为交易付款成功,如果不是则更换商家订单号后,重新发起请求
ACQ.TRADE_HAS_CLOSE
交易已经关闭
更换商家订单号后,重新发起请求
ACQ.BUYER_SELLER_EQUAL
买卖家不能相同
更换买家重新付款
ACQ.TRADE_BUYER_NOT_MATCH
交易买家不匹配
更换商家订单号后,重新发起请求
ACQ.BUYER_ENABLE_STATUS_FORBID
买家状态非法
用户联系支付宝小二,确认买家状态为什么非法
ACQ.BUYER_PAYMENT_AMOUNT_DAY_LIMIT_ERROR
买家付款日限额超限
更换买家进行支付
ACQ.BEYOND_PAY_RESTRICTION
商户收款额度超限
联系支付宝小二提高限额
ACQ.BEYOND_PER_RECEIPT_RESTRICTION
商户收款金额超过月限额
联系支付宝小二提高限额
ACQ.BUYER_PAYMENT_AMOUNT_MONTH_LIMIT_ERROR
买家付款月额度超限
让买家更换账号后,重新付款或者更换其它付款方式
ACQ.SELLER_BEEN_BLOCKED
商家账号被冻结
联系支付宝小二,解冻账号
ACQ.ERROR_BUYER_CERTIFY_LEVEL_LIMIT
买家未通过人行认证
让用户联系支付宝小二并更换其它付款方式
ACQ.INVALID_STORE_ID
商户门店编号无效
检查传入的门店编号是否符合规则
ACQ.PAYMENT_AUTH_CODE_INVALID
支付授权码无效
用户刷新条码后,重新扫码发起请求
ACQ.BUYER_BALANCE_NOT_ENOUGH
买家余额不足
买家绑定新的银行卡或者支付宝余额有钱后再发起支付
ACQ.BUYER_BANKCARD_BALANCE_NOT_ENOUGH
用户银行卡余额不足
建议买家更换支付宝进行支付或者更换其它付款方式
ACQ.ERROR_BALANCE_PAYMENT_DISABLE
余额支付功能关闭
用户打开余额支付开关后,再重新进行支付
ACQ.PULL_MOBILE_CASHIER_FAIL
唤起移动收银台失败
用户刷新条码后,重新扫码发起请求
ACQ.MOBILE_PAYMENT_SWITCH_OFF
用户的无线支付开关关闭
用户在PC上打开无线支付开关后,再重新发起支付
ACQ.PAYMENT_FAIL
用户刷新条码后,重新发起请求,如果重试一次后仍未成功,更换其它方式付款
ACQ.PAYMENT_REQUEST_HAS_RISK
支付有风险
更换其它付款方式
ACQ.NO_PAYMENT_INSTRUMENTS_AVAILABLE
没用可用的支付工具
更换其它付款方式
ACQ.USER_FACE_PAYMENT_SWITCH_OFF
用户当面付付款开关关闭
让用户在手机上打开当面付付款开关
ULINE Alipay支付宝查询&退款接口
订单查询接口
根据商户订单号或者UCHANG订单号查询UCHANG的具体订单信息。
后台系统调用交互模式
请求参数列表
请求url:/alipay/orders/query
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&nonce_str&89c7e78fd69&/nonce_str&
&sign&812E5BC45DCE&/sign&
通过 POST XML 内容体进行请求
String(32)
商户号,由UCHANG分配
transaction_id
String(32)
UCHANG交 易 号 ,
out_trade_no
和 transaction_id 至少一个必填,同时存在时 transaction_id 优先。
out_trade_no
String(32)
商户系统内部的订单号, out_trade_no 和 transaction_id 至少一个必填,同时存在时transaction_id 优先
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果
数据按 XML 的格式实时返回
&return_code&SUCCESS&/return_code&
&result_code&SUCCESS&/result_code&
&transaction_id&6&/transaction_id&
&trade_type&MICROPAY&/trade_type&
&out_transaction_id&0217&/out_transaction_id&
&openid&hao***@126.com&/openid&
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&trade_state&TRADE_SUCCESS&/trade_state&
&total_fee&1&/total_fee&
&time_end&54&/time_end&
&nonce_str&339bcb842ddfbfafd3c5e6&/nonce_str&
&sign&D3A6ECFEFAC331F3DE954&/sign&
return_code
String(16)
返回状态码, SUCCESS
表示成功 FAIL 表示失败 此字段是通信标识,非交易标识,交易是否成功需要查看 trade_state 来判断
return_msg
String(128)
返回信息,如非空,为错误原因签名失败参 数格式校验错误
以下字段在 return_code 为 SUCCESS 的时候有返回
String(32)
商户号,由UCHANG分配
String(32)
随机字符串,不长于 32 位
String(32)
MD5 签名结果,详见“第 4 章 MD5 签名规则”
result_code
String(16)
SUCCESS 表示成功 FAIL 表示失败
String(32)
参考错误码
err_code_des
String (128)
结果信息描述
以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
trade_type
String(16)
交易类型MICROPAY 支付宝刷卡支付 JSAPI 支付宝JS支付
NATIVE 支付宝二维码支付
trade_state
String(16)
WAIT_BUYER_PAY 交易创建,等待买家付款 TRADE_CLOSED 未付款交易超时关闭,或支付完成后全额退款 TRADE_SUCCESS 交易支付成功 TRADE_FINISHED 交易结束,不可退款
String(128)
用户支付宝的账户名
总金额,以分为单位,不允许包含任何字、 符号
货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY
transaction_id
String(32)
UCHANG交易号。
out_trade_no
String(32)
商户系统内部的定单号,32 个字符内、可包含字母
out_transaction_id
String(32)
支付宝交易号
String(128)
商家数据包,原样返回
String(14)
支付完成时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表示为 10。时区为 GMT+8 beijing。该时间取自UChang服务器
5.2退款接口
5.2.1业务功能
同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no 。一笔退款失败后重新 交,要采用原来的 out_refund_no。总退款金额不能超过用户实际支付金额(现金券金额不能退款)。
当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。
交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。
一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额
退款时,会检查当天商户的支付宝交易收益余额是否足够退款,如果充足则可以退款。如果商户今日收益不足,则退款报错,需要等该商户当日收益增加到足够退款后,才能退款成功。
后台系统调用交互模式
请求参数列表
请求url:/alipay/refunds
POST XML 内容体进行请求
&mch_id&100010&/mch_id&
&out_trade_no&&/out_trade_no&
&out_refund_no&&/out_refund_no&
&transaction_id&&/transaction_id&
&refund_fee&1&/refund_fee&
&op_user_id&&/op_user_id&
&nonce_str&a2c5a19df4ef4e6bf5c0&/nonce_str&
&sign&BA05A7453CAC7E363A5E&/sign&
String(32)
商户号,由UChang分配
String(32)

我要回帖

更多关于 日期格式 yyyy 的文章

 

随机推荐