微信怎么直接扫码付款上在没有付款的情况下可能会出现支付凭证吗

是时候,换个姿势关注TA
关注 功能升级,收割 TA 的最新动态
扫我下载最新九游APP
查看: 3401|回复: 6
最后登录积分2897精华0帖子
Lv7略有小成, 经验 2897, 距离下一级还需 103 经验
客户你好、这是10月3日的微信支付凭证、你没有把100个元宝发送给我的凭证、希望你能查清楚、把10月3日没有发给我的100个元宝、补给我……
(37.95 KB, 下载次数: 8)
21:45 上传
点击文件名下载附件
最后登录积分38581精华0帖子
您好,麻烦您提供下您的使用平台,角色ID,角色名以及游戏区服,以便我们为您处理。
您对该GM的评价:(登录并绑定手机即可获得投票机会。立刻/)
最后登录积分2897精华0帖子
Lv7略有小成, 经验 2897, 距离下一级还需 103 经验
十九区、七色彩莲、红丸哪美
最后登录积分2897精华0帖子
Lv7略有小成, 经验 2897, 距离下一级还需 103 经验
S19七色彩莲、红丸哪美
最后登录积分2897精华0帖子
Lv7略有小成, 经验 2897, 距离下一级还需 103 经验
客户你好、是这个角色lD8627、区服是S19区,七色彩莲、头像的名字是红丸哪美
最后登录积分2897精华0帖子
Lv7略有小成, 经验 2897, 距离下一级还需 103 经验
客户你好、是这个角色ID8627、角色名是红丸哪美、区服是S19区、七色彩莲
最后登录积分21116精华0帖子
Lv17炉火纯青, 经验 21116, 距离下一级还需 2884 经验
来自九游APP
充月卡的那25块钱~给不给250元宝??‘
安卓平台下载
苹果平台下载您好!您的登录名为, 您已经成功登陆金桥论坛!
当前位置:--网商沙龙- 正文
微信支付款项怎么做账拿什么做凭证?最佳回答:harryfan : 截屏啊,把截屏打下来做凭证吧追问:那还用写什么单据吗?我是做出纳的,就是财付通转账让我还不懂怎么做补充:截屏和银行回单一起就可以了,相关人员要在截屏上签字确认追问:因为这也不是我转账的是公司的老板
他就给了我单单一个截屏的图片里面就显示支付多少金额。连付给谁都没显示追问:财付通转账是没有银行回单的补充:截屏打下后,经办人签字,再让老板签字才行,如果是购买物品要有**的,补充:不然税务局会找麻烦的,追问:那就不用写什么单据了?补充:如果你单位有费用报销单,当然要填了补充:截屏打印只是做附件追问:我这的情况比较特殊。是老板支付的不是员工支付的补充:那就让老板签字,经办人也是老板就行了,给他讲明,没**税务局会找麻烦的,反正公司都是他的,你进到提醒义务就行了,出了问题,也不是你的责任追问:如果写支付申请单可以吗?补充:可以啊,追问:那我大概知道怎么做了
谢谢你的帮忙
能加下你Q吗?到时如我不懂想向你多多请教下。补充: 都是会计,别客气追问:已经加了相关回答:harryfan : 江南 : 这个应该有记录77公主 : 微信支付完成后会发一条支付凭证的消息,那个就是凭证宇波传媒 : 唯一的凭证无非是支付成功的提示界面,如果是正规企业,用这个做凭证好像是不行的。愿双心 : 这个有记录的啊大大笨蛋007 : 我是做出纳的,就是财付通转账让我还不懂怎么我的小屋的 : 好像没有,不全王维强mn : 微信系统给你回一个支付凭证吧aa : 聊天记录就是凭证啊!lordxf : 微信就是缺少凭证相关问题:银行转账如何做原始凭证?出纳该拿什么凭证给会计做账?我公...这不正好月初嘛,老板交完增值税之后拿回来了银行的记账凭证...从财政局拿低保啊安居啊什么钱 没发放到群众手里 先要上账做...急!!代扣代收税款凭证开具出来后自己剩下3连怎么处理,拿什么...老班每次加油或用用餐只是拿回**让做账也没签过什么报销单...有关知识:退回的款项怎么做账 做收款凭证还是付款凭证 : 我觉得只是银行付款凭证的附件时间不正确,重新汇后对凭证相对应的附件进行更换,不用再做凭证,手续费用是单独做凭证的和银行款项的收付是两个会事项。银行小额支付系统专用凭证 附言往来款如何做会计分录 : 重新看了下,好像应该是借:银行存款贷:其他应付款后面还有一张"资金汇划补充凭证",做相反分录,不知道是不是?公司向个人借款支付利息没有任何凭证怎么做账,而且老板只告... : 收到款项:
借:银行存款100
贷:其他应付款100
借:财务费用5
贷:应付利息 5未付款未认证的**如何做账,还有这张**可不可以在明年才... : 未付款未证的**不要做账,做了进项税金就必须当月**认证抵扣,可以等到明年抵扣,现**抵扣期为180天。没有**就没有付款依据,怎么用银行付款了?如果为了准确反应...外公司转来款项是收入怎么做账?需要附什么原始凭证? : 只要附银行回单就行。因为如果是转账,肯定是有往来账的,比如,销售A公司货,销售时(肯定要给对方开**,以**为依据入账)借:应收账款--A公司贷:主营业务收入
应交税费-...收到银行受托支付的款项怎么做账? : 借:应付账款贷;银行存款对于原始凭证已经做账但未支付的,等到有钱时再报销,应该怎样... : 对于原始凭证已经做账但未支付的,等到有钱时再报销,可以借:管理费用 贷:其他应付款 等到有钱时再报销借:其他应付款 贷:现金总公司划款给下属单位先支付的款项怎么做账 : 1.预先支付款项时,你可用复印件入帐(你交给总公司的手续)借:其他应收款 代:银行存款2.收到总公司划入款时借;银行存款 代:其他应收款总公司给你划款应该是经过银行,银行有...公司用电汇给外地红十字会汇入一笔款项,拿回的电汇单怎么做... : 不超过年度利润总额12%的部分,准予扣除。
17:30 补充问题 那红十字会把**给我公司,分录怎么做? 红十字会**和电汇单,可以附在一起编制凭证。 借:营业外支...支付款项时**跨月才给怎么做账呢? : 首先,上个月你没做进项说,如果粘上去你不是损失了税金了吗
其次,上个月你应该把原材料暂估入账,那么上个月错了,本月作调整分录吧
冲回以后,再把这张原始凭证粘上重新...
发表我的评论
版权所有:&&辽B2-
增值电信业务经营许可证:辽B2-  不是危言耸听,以下是本人今天使用滴滴的亲身经历:  早上打滴滴去地铁站,费用22块3,下车后,确认支付(手动输入密码支付),一切正常。  下午回家继续滴滴,费用28块4。刚下车,微信支付凭证就来了,提示已经支付了。没经过我输入密码确认。  可能有人已经看出问题了,对,在我不知情的情况下,滴滴自动开通了免密支付功能。在咨询了客服之后,得到的回复是滴滴自动开通的。  现在我想说的可怕问题就来了---大家可以试一下,开通免密支付是需要密码确认来开通的。可是滴滴自动开通是没经过我们同意和输入密码的。  更加关键的是,手机系统是6月底刚装的新系统,滴滴也是,已经装了有十来天了。滴滴并不是在我安装后自动开通的免密支付,而是在我今天输入密码支付了第一笔费用之后才自动开通的......  想一想,滴滴的这个“自动开通”有多可怕,你的支付密码还安不安全?!...  附上截图:            如有疑问,欢迎验证。  最好是新系统,新装滴滴。它不会在你第一次使用的时候“自动开通”,反而是在你输入密码支付过一次账单之后在不通知你的情况下“自动开通”而且开通后也不会告诉你.
  注:这是我遇到的第一个开通自动支付不需要用户的“支付密码”来确认的。  另:不管我怎么问,客服告诉我的就两句话:这是系统默认开通的(从不解释为什么安装好不开通,而是在我输入过一次密码之后才自动开通),你的账号资金是安全的.
楼主发言:2次 发图: | 更多
  补充一下,大家注意一下第一次支付和开通自动支付的时间:都是8:44...这都是滴滴自动完成的,根本没有任何提示,也不需要你任何的确认,包括密码。  还有就是以前的滴滴用了1年多,没出现过这种问题。 这次的问题是在6月底重新装过,而且滴滴升级之后才有的。(很有可能是新版本带来的安全问题)  总之就是滴滴在你输入过一次支付密码后就“记住了”然后使用你的支付密码完成自动支付的开通功能
  滴滴出行方便了用户的出行,但是美中不足的是除了出租车其他的不能在上面查费用,也不能直接在滴滴出行APP上付费,要到支付宝上面付费
<span class="count" title="
<span class="count" title="
请遵守言论规则,不得违反国家法律法规回复(Ctrl+Enter)微信支付文档 - 简书
微信支付文档
微信支付文档1.微信支付简介a)功能简介b)支付账户c)支付方式d)账号测试2.JS API支付接口a)支付场景b)功能交互c)获取当前微信版本号d)显示微信安全支付标题e)JS API支付接口(getBrandWCPayRequest)定义f)订单详情(packge)扩展字符串定义g)支付签名(paySign)生成方法h)接口使用实例3.Native(原生)支付接口a)支付场景b)基本交互c)Native(原生)支付接口描述d)Native(原生)支付URL定义e)Native(原生)支付URL签名方式f)Native(原生)支付回调商户后台获取package4.通知接口说明a)通知接口简介b)补单机制c)通知接口参数d)后台通知结果返回e)后台通知签名方式5.API接口说明a)API接口简介b)API使用方式c)API列表i.发货通知delivernotifyii.订单查询orderquery1.微信支付简介1.1功能简介微信支付,是基于微信客户端提供的支付服务功能。同时向商户提供销售经营分析、账户和资金管理的技术支持。用户通过扫描二维码、点击图文消息进入商品页面购买等多种方式调起微信支付模块完成支付。目前微信支持公众号内支付。其中支付方式,可以分为JS API支付、Native(原生)支付。商户可以结合业务场景,自主选择支付形式。本文将全面介绍公众号支付技术解决方案。1.2支付账户商户向微信公众平台提交企业信息以及银行账户资料,审核通过并签约后,可以获得以下帐户(包含财付通的相关支付资金账户),用于公众号支付。账号及其作用appId公众号身份唯一标识。appSecret公众平台API(参考文档API接口部分)的权限获取所需密钥Key,在使用所 有公众平台API时,都需要先用它去换取access_token,然后再进行调。paySignKey公众号支付请求中用于加密的密钥Key,可验证商户唯一身份,PaySignKey对应于支付场景中的appKey值。partnerId财付通商户身份标识。partnerKey财付通商户权限密钥Key。注意:appSecret、paySignKey、partnerKey是验证商户唯一性的安全标识,请妥善保管。对于appSecret和paySignKey的区别,可以这样认为:appSecret是API使用时的登录密码,会在网络中传播的;而paySignKey是在所有支付相关数据传输时用于加密并进行身份校验的密钥,仅保留在第三方后台和微信后台,不会在网络中传播。1.3支付方式公众号支付有2种方式:JS API支付:是指用户打开图文消息或者扫描二维码,在微信内置浏览器打开网页进行的支付。商户网页前端通过使用微信提供的JS API,调用微信支付模块。这种方式,适合需要在商户网页进行选购下单的购买流程。Native(原生)支付:是指商户组成符合Native(原生)支付规则的URL链接,用户可通过点击该链接或者扫描对应的二维码直接进入微信支付模块(微信客户端界面),即可进行支付。这种方式,适合无需选购直接支付的购买流程。以上两种支付方式,最大的差别在于是否需要经过网页调起支付。1.4测试账号名称及其取值appIdwxf8b4f85f3a794e77appSecretd01a3fe64d53f36892dfpaySignKey2Wozy2aksie1puXUBpWD8oZxiD1DfQuEaiC7KcRATv1Ino3mdopKaPGQQ7TtkNySuAmCaDCrw4xhPY5qKTBl7Fzm0RgR3c0W aVY IXZARsxzHV2x7iwPPzOz94dnwPWSnpartnerIdpartnerKey53e9cf7b0519d2.JSAPI支付接口2.1支付场景以下是支付场景的交互细节,请认真阅读,并设计商家页面的逻辑:(1)用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程。(2)商户设定订单轮询频率,前端开始轮询商户后台是否收到交易成功通知。若某时刻收到通知,即刷新前端页面。订单查询请参考下文的订单查询的API接口。(3)用户成功支付点击完成按钮后,商户的前端会收到JavaScript的返回值。此时,若商家已收到后台成功的通知,则向用户展示支付成功;若未收到支付成功的后台通知,需 要后台再主动发起查询订单状态请求,前端显示结果,不能只依靠前端的JavaScript返回值。 简单地说,支付成功务必以后台状态为准,前端判断为辅。注:(3)中的JS API返回值只在支付成功时返回,但并不表示JS API无返回或者有其 他返回值时就一定失败。鉴于以上极少数的情况,微信团队建议商户在调起微信支付后,前 端页面能够提供用户主动查询订单状态的入口,待用户结束支付流程回到商户网页前端界面时能够主动触发商户后台主动查询订单结果。以上会影响用户的支付成功体验,请仔细阅读并设计好网页处理逻辑。2.2功能交互商品类型图文消息或者通过二维码扫描进入商品网页内调用JS API支付,点击立即购买进入输入支付密码环节,密码成功后进入支付成功界面,最后返回商家页面提示发货。2.3获取当前微信版本号由于微信5.0版本后才加入微信支付模块,低版本用户调用微信公众号支付将无效。因 此,微信团队建议商户通过user agent来确定用户当前的版本号后再调用支付接口 。以iPhone版本为例,可以通过user agent可获取如下微信版本示例信息:"Mozilla/5.0(CPU iphone OS 5_1_1 like Mac OS X)AppleWebKit/534.46(KHTML,like Geocko) Mobile/9B206 MicroMessenger/5.0"其中5.0为用户安装的微信版本号,商户可以判定版本号是否高于或者等于5.0。2.4显示微信安全支付标题对于商户具有支付权限且需要调用微信支付的页面,为了让用户增加购买信心,确认交 易环境安全,微信强烈建议商户使用“微信安全支付”标题。显示支付安全标题,除了需要商户具有支付权限,还需将原始链接添加上"showwxpaytitle=1"的尾串。通过这种方式,商户的页面将出现微信安全支付的标识。例如,原始url为:htp://,显示安全支付标题的url为: htp://?showwxpaytitle=1。当用户在微信里打开不会直接出现微信安全支付的标题,而打开htp://?showwxpaytitle=1后将出现微信安全支付标题。2.5JSAPI支付接口(getBrandWCPayRequest)定义微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效。微信提 供getBrandWCPayRequest接口供商户前端网页调用,调用之前微信会鉴定商户支付权限,若 商户具有调起支付的权限,则将开始支付流程 。这里主要介绍支付前的接口调用规则,支付 状态消息通知机制请参加下文。接口需要注意:所有传入参数都是字符串类型!getBrandWCPayRequest参数以及返回值定义参数以及是否必须填写和说明appId:必填:字段名称:公众号字段来源:商户注册具有支付权限的公众号成功后即可获得;传入方式:由商户直接传入。参数类型:字符串类型timestamp:必填:字段名称:时间戳;字段来源:商户生成从日00:00:00至今的秒数,即当前的时间,且最终需要转换为字 符串形式;由商户生成后传入。 参数类型:字符串类型;参数长度: 32个字节以下。nonceStr:必填:字段名称:随机字符串;字段来源:商户生成的随机字符串 。 由商户生成后传入。参数类型:字符串类型;参数长度: 32个字节以下。Package:必填:字段名称:扩展字符串;参数类型:字符串类型;字段来源:商户将订单信息组成该字符串,具体组成方案参见接口使用说 明中package组包帮助;由商户按照规范拼接后传入。 参数类型:字符串类型;参数长度: 4096个字节以下。signType:必填:字段名称:签名方式;参数类型:字符串类型;字段来源:按 照文档中所示填入,目前仅支持SHA1;参数类型:字符串类型;参数取值: "SHA1"。paySign:必填:字段名称:签名;字段来源:商户将接口列表中的参数按照指 定方式进行签名,签名方式使用signType中标示的签名方式,具体签名方案参见接口使用说明中签名帮助;由商户按照规范 签名后传入。参数类型:字符串类型;参数长度: 40个字符。返回结果返回值:err_msgget_brand_wcpay_request:ok支付成功注:JSAPI的返回结果get_brand_wcpay_request:ok仅在用户成功完成支付时返回,其他情 况下函数将无返回或返回其他无意义的结果,商户可以不予理会,更不应该以其他返回值作为判定支付成功或失败的条件。2.6订单详情(package)扩展字符串定义在商户调起JS API时,商户需要此时确定该笔订单详情,并将该订单详情通过一定的 方式进行组合放入package。JS API调用后,微信将通过package的内容生成预支付单。下 面将定义package的所需字段列表以及签名方法。package所需字段参数及其是否必填和说明bank_type:必填:银行通道类型,由于这里是使用的微信公众号支付,因此 这个字段固定为WX,注意大写。参数取值:"WX"。Body:必填:商品描述。参数长度:128字节以下。Attach:非必填:附加数据,原样返回。128字节以下。Partner:必填:商户号,即注册时分配的partnerId。out_trade_no:必填:商户系统内部的订单号,32个字符内、可包含字母,确保在商 户系统唯一。参数取值范围:32字节以下。total_fee:必填:订单总金额,单位为分。fee_type:必填:现金支付币种,取值:1(人民币),默认值是1,暂只支持1.notify_url:必填:通知URL,在支付完成后,接收微信通知支付结果的URL,需给绝对径路,255字符内,格式如:/tenpay.asp。取值范围:255字节以内。spbill_create_ip:必填:订单生成的机器IP,指用户浏览器端IP,不是商户服务器IP,格式为IPV4整型。取值范围:15字节以内。time_start:非必填:交易起始时间,也是订单生成时间,格式 为yyyyMMddHHmmss,如日9点10分10秒表示为10。时区为GMT+8 beijing。该时 间取自商户服务器。取值范围:14字节。time_expire:非必填:交易结束时间,也是订单失效时间,格式 为yyyyMMddHHmmss,如日9点10分10秒表示为10。时区为GMT+8 beijing。该时 间取自商户服务器。取值范围:14字节。transport_fee:非必填:物流费用,单位为分。如果有值,必须保证transport_fee + product_fee=total_fee。product_fee:非必填:商品费用,单位为分。如果有值,必须保证transport_fee + product_fee=total_fee。goods_tag:非必填:商品标记,优惠券时可能用到。input_charset:必填:传入参数字符编码。取值范围: "GBK"、"UTF-8"。默认: "GBK"。package生成方法由于package中携带了生成订单的详细信息,因此在微信将对package里面的内容进行鉴权,确定package携带的信息是真实、有效、合理的。因此,这里将定义生成package字符串的方法。a.对所有传入参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2...)拼接成字符串string1;b.在string1最后拼接上key=paternerKey得到stringSignTemp字符串,并对stringSignTemp进行md5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。c.对string1中的所有键值对中的value进行urlencode转码,按照a步骤重新拼接成字符串,得到string2。对于js前端程序,一定要使用函数encodeURIComponent进行urlencode编码(注意!进行urlencode时要将空格转化为%20而不是+)。d.将sign=signValue拼接到string1后面得到最终的package字符串。下面定义了一段生成package字符串的示范过程:假设以下为package传入参数:bank_type=WX;fee_type=1,body=XXX,input_charset=GBK,partner=,total_fee=1,spbill_create_ip=127.0.0.1out_trade_no= ,notify_url=i :经过a过程url键值对字典序排序后的字符串string1为:bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1ii:经过b过程后得到sign为:sign=md5(string1&key=53e9cf7b0519d).toUpperCase=md5(bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1&key=53e9cf7b0519d).toUpperCase()="beef37adc1e4b1474ca9".toUpperCase()=”BEEF37ADC1E4B1474CA9”iii:再对string1中的每一个键值对中的value进行urlencode编码后得到:bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=http%3a%2f%&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1iv:拼接上sign后得到最终package结果:bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=http%3a%2f%&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1&sign=BEEF37ADC1E4B1474CA92.7支付签名(paySign)生成方法paySign字段是对本次发起JS API的行为进行鉴权,只有通过了paySign鉴权,才能继 续对package鉴权并生成预支付单。这里将定义paySign的生成规则。参与paySign签名的字段包括: appid、timestamp、noncestr、package以及appkey。这里signType并不参与签名。对所有待签名参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键值 对的格式(即key1=value1&key2=value2...)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符,例如appId在排序后字符串则为对string1作签名算法,字段名和字段值都采用原始值(此时package的value就对应了使用2.6中描述的方式生成的package),不进行URL转义。具体签名算法为paySign=SHA1(string)。这里给出生成paySign的具体示例如下:假设参数如下:"appId":"wxf8b4f85f3a794e77","timeStamp":"","nonceStr":"adssdasssd13d","package":"bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=http%3a%2f%&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1&sign=BEEF37ADC1E4B1474CA9"a pp K e y ”: " 2 W o z y 2 a k s i e 1 p u X U B p W D 8 o Z x i D 1 D f Q uE a i C 7 K c R A T v 1 I n o 3 m d o p K a P G Q Q 7 T t k NySuAmCaDCrw4xhPY5qKTBl7Fzm0RgR3c0WaVYIXZARsxzHV2x7iwPPzOz94dnwPWSn”i:经过a过程键值对排序后得到string1为:appid=wxf8b4f85f3a794e77&appkey=2Wozy2aksie1puXUBpWD8oZxiD1DfQuEaiC7KcRATv1Ino3mdopKaPGQQ7TtkNySuAmCaDCrw4xhPY5qKTBl7Fzm0RgR3c0WaVYIXZARsxzHV2x7iwPPzOz94dnwPWSn&noncestr=adssdasssd13d&package=bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=http%3a%2f%&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1&sign=BEEF37ADC1E4B1474CA9×tamp=ii:经过b过程签名后可得到:paySign=SHA1(appid=wxf8b4f85f3a794e77&appkey=2Wozy2aksie1puXUBpWD8oZxiD1DfQuEaiC7KcRATv1Ino3mdopKaPGQQ7TtkNySuAmCaDCrw4xhPY5qKTBl7Fzm0RgR3c0WaVYIXZARsxzHV2x7iwPPzOz94dnwPWSn&noncestr=adssdasssd13d&package=bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=http%3a%2f%&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1&sign=BEEF37ADC1E4B1474CA9×tamp=)=afe9a0de2.8接口使用示例接口需要注意:所有传入参数都是字符串类型!示例代码如下:WeixinJSBridge.invoke('getBrandWCPayRequest',{"appId" : "wxf8b4f85f3a794e77", //公众号名称,由商户传入"timeStamp" :"", //时间戳 这里随意使用了一个值"nonceStr" : "adssdasssd13d", //随机串"package":"bank_type=WX&body=XXX&fee_type=1&input_charset=GBK?ify_url=http%3a%2f%&out_trade_no=&partner=&spbill_create_ip=127.0.0.1&total_fee=1&sign=BEEF37ADC1E4B1474CA9",//扩展字段,由商户传入"signType": "SHA1", //微信签名方式:sha1"paySign": "afe9a0de" //微信签名},function(res){//返回res.err_msg,取值//get_brand_wcpay_request:cancel用户取消//get_brand_wcpay_request:fail发送失败//get_brand_wcpay_request:ok发送成功WeixinJSBridge.log(res.err_msg);alert(res.err_code+res.err_desc);});3.Native(原生)支付接口3.1支付场景(1)商户如果想具有Native(原生)支付的权限,除了需要填写申请支付权限的必须信息,还需要提供一个获取订单package的回调URL,以便微信后台通过Post的方式去获取该笔 支付的订单信息。(2)商户根据微信指定的规则制定用于微信支付的URL字符串,当用户点击该字符串,或 者通过扫描该字符串对应的二维码时,微信后台开始进入预支付流程。(3)微信后台鉴定权限后,通过Post方式向商户后台获取生成订单的必要信息,再次鉴定 获取的信息成功后,客户端将进入支付流程。(4)支付成功后,微信后台将通过Post机制通知商户后台该笔交易已成功。3.2基本交互商品类图文消息和商品二维码都可进行支付,直接支付,不需要经过网页,然后点击支付,进入输入密码环节,然后完成后就是支付成功。3.3Native(原生)支付接口描述Native(原生)支付过程中,首先需要商户定义符合Native(原生)支付规范的URL,也就是Native(原生)支付URL,同时需要在微信后台Post商户后台时需要提供package内容。因此这里将重点介绍支付前的接口调用,支付通知等信息请查看下文。3.4Native(原生)支付URL定义Native(原生)支付URL是一系列具有weixin://wxpay/bizpayurl?前缀的url,同时后面紧跟着一系列辨别商家的键值对。Native(原生)支付URL的规则如下:weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXXX&productid=XXXXXX×tamp=XXXXXX&noncestr=XXXXXX其中xxxxxx为商户需要填写的内容,具体参数定义如下:参数及其是否必填和说明appid:必填:字段名称:公众号字段来源:商户注册具有支付权限的公众 号成功后即可获得;传入方式:由商户直接传入。Timestamp:必填:字段名称:时间戳;字段来源:商户生成从日00: 00:00至今的秒数,即当前的时间;由商户生成后传入。取值 范围:32字符以下Noncestr:必填:字段名称:随机字符串;字段来源:商户生成的随机字符串;取值范围:长度为32个字符以下。由商户生成后传入。取值范围: 32字符以下Productid:必填:字段名称:商品唯一字段来源:商户需要定义并维护自己的 商品id,这个id与一张订单等价,微信后台凭借该id通过Post商户后台获取交易必须信息 。由商户生成后传入 。取值范围:32字符以下Sign:必填:字段名称:签名;字段来源:对前面的其他字段与appKey按照 字典序排序后,使用SHA1算法得到的结果。由商户生成后传入。3.5Native(原生)支付URL签名方式参与sign签名的字段包括:appid、timestamp、noncestr、productid以及appkey。a.对所有待签名参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键 值对的格式(即key1=value1&key2=value2...)拼接成字符串string1。这里需要注意的是所 有参数名均为小写字符,即appId则排序后的字符串则为b.对string1作签名算法,字段名和字段值都采用原始值,不进行URL转义。具体签名算法为sign=SHA1(string)。这里给出生成sign的具体示例如下:假设参数如下:"appid":"wxf8b4f85f3a794e77","timestamp":"","noncestr":"adssdasssd13d", "productid" :"123456"“appkey”:"2W ozy2aksie1puXUBpWD8oZxiD1DfQuEaiC7KcRA Tv1Ino3mdopKaPGQQ7TtkNySuAmCaDCrw4xhPY5qKTBl7Fzm0RgR3c0WaVYIXZARsxzHV2x7iwPPzOz94dnwPWSn”则经过a过程后得到:string1=“appid=wxf8b4f85f3a794e77&appkey=2Wozy2aksie1puXUBpWD8oZxiD1DfQuEaiC7KcRATv1Ino3mdopKaPGQQ7TtkNySuAmCaDCrw4xhPY5qKTBl7Fzm0RgR3c0WaVYIXZARsxzHV2x7iwPPzOz94dnwPWSn&noncestr=adssdasssd13d&productid=123456×tamp=”则经过SHA1处理后得到:sign=18ce946ae294e016eddda9468de80df3.6Native(原生)支付回调商户后台获取package在公众平台接到用户点击上述特殊Native(原生)支付的URL之后,会调用注册时填 写的商家获取订单Package的回调URL。假设回调URL为/cgi-bin/bizpaygetpackage微信公众平台调用时会使用Post方式,推送xml格式的PostData,形如:1 ure&参数说明:(1)AppId,公众帐号的appid(2)OpenId,点击链接准备购买商品的用户openid (3)IsSubscribe,标记用户是否订阅该公众帐号, 1为关注,0为未关注(4)ProductId,第三方的商品ID号(5)TimeStamp,时间戳(6)NonceStr,随机串(7)AppSignature,参数的加密签名,是根据2.7支付签名( paySign)生成方法中所讲的签名方式生成的签名(8)SignMethod,签名方式,目前只支持“SHA1”。该字段不参与签名。第三方为了确保是来自于微信公众平台的合法请求,需要使用同样的方式生成签名,并与AppSignature的值进行对比。参与签名的字段为:appid、appkey、productid、timestamp、noncestr、openid、issubscribe。 为了返回Package数据,回调URL必须返回一个xml格式的返回数据,形如:微信公众号支付接口文档V2.21 A[afecdacb9e]]&
其中,AppSignature依然是根据前文paySign所讲的签名方式生成的签名,参与签名的 字段为:appid、appkey、package、timestamp、noncestr、retcode、reterrmsg。package的生成规则请参考JS API所定义的package生成规则。这里就不再赘述了。其中,对于一些第三方觉得商品已经过期或者其他错误的情况,可以在RetCode和RetErrMsg中体现出来,RetCode为0表明正确,可以定义其他错误;当定义其他错误时,可以在RetErrMsg中填上UTF8编码的错误提示信息,比如“该商品已经下架”,客户端会 直接提示出来。4.通知接口说明4.1通知接口简介用户在成功完成支付后,微信后台通知( post)商户服务器(notify_url)支付结果。商户可以使用notify_url的通知结果进行个性化页面的展示。4.2补单机制对后台通知交互时,如果微信收到商户的应答不是success或超时,微信认为通知失败,微信会通过一定的策略(如30分钟共8次)定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。由于存在重新发送后台通知的情况,因此同样的通知可能会多次发送给商户系统 。商户系统必须能够正确处理重复的通知。微信推荐的做法是,当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回success。在对业务 数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混 乱。目前补单机制的间隔时间为: 8s、10s、10s、30s、30s、60s、120s、360s、1000s。4.3通知接口参数后台通知通过请求中的notify_url进行,采用post机制。返回通知中的参数一致, url包含如下内容:字段名:变量名:必填:类型:说明协议参数:签名方式:sign_type:否:String(8):签名类型,取值:MD5、RSA,默认:MD5接口版本:service_version:否:String(8):版本号,默认为1.0字符集:input_charset:否:String(8):字符编码,取值:GBK、UTF-8,默认:GBK。签名:sign:是:String(32):签名密钥序号:sign_key_index:否:Int:多密钥支持的密钥序号,默认1业务参数:交易模式:trade_mode:是:int:1-即时到账其他保留交易状态:trade_state:是:int:支付结果: 0—成功 其他保留支付结果信息:pay_info:否:String(64):支付结果信息,支付成功时为空商户号:partner:是:String(10):商户号,也即之前步骤的partnerid,由微信统一分配的10位正整数(120XXXXXXX)号付款银行:bank_type:是:String(16):银行类型,在微信中使用WX银行订单号:bank_billno:否:String(32):银行订单号总金额:total_fee:是:int:支付金额,单位为分,如 果discount有值,通知的total_fee + discount =请求的total_fee币种:fee_type:是:int:现金支付币种,目前只支持人 民币,默认值是1-人民币通知ID:notify_id:是:String(128):支付结果通知id,对于某些特 定商户,只返回通知id,要求 商户据此查询交易结果订单号:transaction_id:是:String(28):交易号,28位长的数值,其中前10位为商户号,之后8位为订单产生的日期,如,最后10位是流水号。商户订单号:out_trade_no:是:String(32):商户系统的订单号,与请求一致。商家数据包:attach:否:String(127):商家数据包,原样返回支付完成时间:time_end:是:String(32):支付完成时间,格式 为yyyyMMddhhmmss ,如日9点10分10秒 表示为10。时区 为GMT+8 beijing。物流费用:transport_fee:否:int:物流费用,单位分,默认0。 如果有值,必须保 证transport_fee+ product_fee = total_fee物品费用:product_fee:否:int:物品费用,单位分 。如果有值,必须保证transport_fee + product_fee=total_fee折扣价格:discount:否:int:折扣价格,单位分,如果有值,通知的total_fee + discount =请求的total_fee买家别名:buyer_alias:否:String(64):对应买家账号的一个加密串同时,在postData中还将包含xml数据。数据如下:1
各字段定义如下:参数:必填:说明AppId:是:字段名称:公众号字段来源:商户注册具有支付权限 的公众号成功后即可获得;传入方式:由商户直接传入。TimeStamp:是:字段名称:时间戳;字段来源:商户生成从日00:00:00至今的秒数,即当前的时间;由商户生成后 传入。取值范围:32字符以下NonceStr:是:字段名称:随机字符串;字段来源:商户生成的随机字符 串;取值范围:长度为32个字符以下。由商户生成后传入。 取值范围:32字符以下OpenId:是;支付该笔订单的用户ID,商户可通过公众号其他接口为付 款用户服务。AppSignature:是:字段名称:签名;字段来源:对前面的其他字段与appKey按照字典序排序后,使用SHA1算法得到的结果。由商户生成后传入。IsSubscribe:是:用户是否关注了公众号。1为关注,0为未关注。AppSignature依然是根据前文paySign所述的签名方式生成,参与签名的字段为:appid、appkey、timestamp、noncestr、openid、issubscribe。从以上信息可以看出, url参数中携带订单相关信息,postData中携带该次支付的用户 相关信息,这将便于商家拿到openid,以便后续提供更好的售后服务。4.4后台通知结果返回微信后台通过notify_url通知商户,商户做业务处理后,需要以字符串的形式反馈处理结果,内容如下:返回结果:结果说明success:处理成功,微信系统收到此结果后不再进行后续通知fail或其它字符:处理不成功,微信收到此结果或者没有收到任何结果,系统通过补单机 制再次通知4.5后台通知签名方式对于url中签名原始串按以下方式组装成字符串:a.除sign字段外,所有参数按照字段名的ascii码从小到大排序后使用QueryString的格 式(即key1=value1&key2=value2...)拼接而成字符串string1,空值不传递,不参与签名组串。b.在string1最后拼接上key=paternerKey得到stringSignTemp字符串,并 对stringSignTemp进行md5运算,再将得到的字符串所有字符转换为大写,得到sign值signV alue。c.对string1进行urlencode转码,得到string2。d.将sign=signValue拼接到string1后面得到最终的notifyargs字符串。e.所有参数是指通信过程中实际出现的所有非空参数,即使是接口中无描述的字段,也需要参与签名组串 。f.签名原始串中,字段名和字段值都采用原始值,不进行URLEncode。g.微信通知消息可能会由于升级增加参数,请验证应答签名时注意允许这种情况。下面定义了一段生成notifyargs字符串的示范过程:假设以下为notifyargs传入参数: bank_billno= ,bank_type=0,discount=0,fee_type=1,input_charset=GBK,notify_id=WE37gwCoFBcAKdkH34Y1nW94r_vao2ljmwE3oAHEeAP690xSVhRleOMfhsgjwVGDpluT-vdS79kbDbkDnjYg4qsmTdSjuJxl,out_trade_no=809900, partner= , product_fee=1,sign_type=MD5, time_end=31 , total_fee=1,trade_mode=1,trade_state=0,transaction_id=5397, transport_fee=0i:经过a过程url键值对字典序排序后的字符串string1为:bank_billno=&bank_type=0&discount=0&fee_type=1&input_charset=GBK?ify_id=WE37gwCoFBcAKdkH34Y1nW94r_vao2ljmwE3oAHEeAP690xSVhRleOMfhsgjwVGDpl uT-vdS79kbDbkDnjYg4qsmTdSjuJxl&out_trade_no=809900&partner=&product_fee=1&sign_type=MD5&time_end=31&total_fee=1&trade_mode=1&trade_state=0&transaction_id=5397&transport_fee=0ii:经过b过程后得到sign为:sign=md5(string1&key=53e9cf7b0519d).toUpperCase=md5(bank_billno=&bank_type=0&discount=0&fee_type=1&input_charset=GBK?ify_id=WE37gwCoFBcAKdkH34Y1nW94r_vao2ljmwE3oAHEeAP690xSVhRleOMfhsgjwVGDpluT-vdS79kbDbkDnjYg4qsmTdSjuJxl&out_trade_no=809900&partner=&product_fee=1&sign_type=MD5&time_end=31&total_fee=1&trade_mode=1&trade_state=0&transaction_id=5397&transport_fee=0&key=53e9cf7b0519d).toUpperCase()="8ef1f69d5d9d4ec39d24e".toUpperCase()=”8EF1F69D5D9D4EC39D24E”iii:再对string1经过c过程urlencode编码后得到:bank_billno=&bank_type=0&discount=0&fee_type=1&input_charset=GBK?ify_id=WE37gwCoFBcAKdkH34Y1nW94r_vao2ljmwE3oAHEeAP690xSVhRleOMfhsgjwVGDpluT-vdS79kbDbkDnjYg4qsmTdSjuJxl&out_trade_no=809900&partner=&product_fee=1&sign_type=MD5&time_end=31&total_fee=1&trade_mode=1&trade_state=0&transaction_id=5397&transport_fee=0iv:拼接上sign后得到最终package结果:bank_billno=&bank_type=0&discount=0&fee_type=1&input_charset=GBK?ify_id=WE37gwCoFBcAKdkH34Y1nW94r_vao2ljmwE3oAHEeAP690xSVhRleOMfhsgjwVGDpluT-vdS79kbDbkDnjYg4qsmTdSjuJxl&out_trade_no=809900&partner=&product_fee=1&sign_type=MD5&time_end=31&total_fee=1&trade_mode=1&trade_state=0&transaction_id=5397&transport_fee=0&sign=8EF1F69D5D9D4EC39D24E5.API接口说明5.1API接口简介为了更好地接入支付的整个流程,包括购买、通知、发货等,微信提供了一系列的支付 相关API,以供第三方调用。5.2API使用方式在使用API之前,需要拥有API使用过程中用到的具有时效性的凭证access_token。这 个获取方式就是使用前文提到的appid和appsecret调用token这个api获取。更详细的文档 请参考:http://mp./wiki说明文档中的通用接口。只有拥有了有效access_token (即相当于具有了一定时间内的API登陆态)后续的所有API调用才会成功。5.3API列表5.3.1发货通知delivernotify为了更好地跟踪订单的情况,需要第三方在收到最终支付通知之后,调用发货通知API告知微信后台该订单的发货状态。请在收到支付通知发货后,一定调用发货通知接口,否则可能影响商户信誉和资金结算。Api的url为:https://api./pay/delivernotify?access_token=xxxxxxUrl中的参数只包含目前微信公众平台凭证access_token,而发货通知的真正的数据是放在PostData中的,格式为json,如下:{"appid" : "wwwwb4f85f3a797777","openid" : "oX99MDgNcgwnz3zFN3DNmo8uwa-w","transid" : "333","out_trade_no" : "555666uuu","deliver_timestamp" : "","deliver_status" : "1","deliver_msg" : "ok","app_signature" :"53cca9d47b883bd4a5c85acb48565c", "sign_method" :"sha1"}其中,appid是公众平台账户的AppId;openid是购买用户的OpenId,这个已经放在最终支付结果通知的PostData里了; transid是交易单号;out_trade_no是第三方订单号;deliver_timestamp是发货时间戳,这里指得是linux时间戳;deliver_status是发货状态,1表明成功,0表明失败,失败时需要在deliver_msg填上失败原因;deliver_msg是发货状态信息,失败时可以填上UTF8编码的错误提示信息,比如“该商品已退款”;app_signature依然是根据1中所讲的签名方式生成的签名,参加签名字段为: appid、appkey、openid、transid、out_trade_no、deliver_timestamp、deliver_status、deliver_ sign_method是签名方法(不计入签名生成);微信公众平台在校验ok之后,会返回数据表明是否通知成功,例如: {"errcode":0,"errmsg":"ok"}如果有异常,会在errcode和errmsg描述出来,如果成功errcode就为0。5.3.2订单查询orderquery因为某一方技术的原因,可能导致商家在预期时间内都收不到最终支付通知,此时商家 可以通过该API来查询订单的详细支付状态。Api的url为:https://api./pay/orderquery?access_token=xxxxxxUrl中的参数只包含目前微信公众平台凭证access_token,而发货通知的真正的数据是 放在PostData中的,格式为json,如下:{"appid" : "wwwwb4f85f3a797777","package" : "out_trade_no=11122&partner=&sign=4e8d0df3da0c3d0df38f","timestamp" : "","app_signature" :"53cca9d47b883bd4a5c85acb48565c","sign_method" : "sha1"}其中,appid是公众平台账户的AppId;package是查询订单的关键信息数据,包含第三方唯一订单号out_trade_no、财付通商户身份标识partner(即前文所述的partnerid)、签名sign,其中sign是对参数字典序排序并使用&联合起来,最后加上&key=partnerkey(唯一分配),进行md5运算,再转成全大写,最终得到sign,对于示例,就是:sign=md5(out_trade_no=11122&partner=&key=xxxxxx ).timestamp是linux时间戳;app_signature依然是根据1中所讲的签名方式生成的签名,参加签名字段为:appkey、package、sign_method是签名方法(不计入签名生成);微信公众平台在校验ok之后,会返回数据表明是否通知成功,例如: {"errcode":0,"errmsg":"ok", ...... }如果有异常,会在errcode和errmsg描述出来,如果成功errcode就为0。如果查询成功,会返回详细的订单数据,如下:{"errcode":0, "errmsg":"ok","order_info":{"ret_code":0,"ret_msg":"","input_charset":"GBK","trade_state":"0", "trade_mode":"1","partner":"","bank_type":"CMB_FP", "bank_billno":"","total_fee":"1","fee_type":"1","transaction_id":"3741","out_trade_no":"6457300","is_split":"false","is_refund":"false","attach":"","time_end":"43","transport_fee":"0","product_fee":"1","discount":"0", "rmb_total_fee":""} }对于详细的订单信息,放在order_info中的json数据中,各个字段的含义如下: ret_code是查询结果状态码,0表明成功,其他表明错误;ret_msg是查询结果出错信息;input_charset是返回信息中的编码方式;trade_state是订单状态,0为成功,其他为失败;trade_mode是交易模式,1为即时到帐,其他保留; partner是财付通商户号,即前文的 bank_type是银行类型;bank_billno是银行订单号;total_fee是总金额,单位为分;fee_type是币种,1为人民币;transaction_id是财付通订单号;out_trade_no是第三方订单号;is_split表明是否分账,false为无分账,true为有分账; is_refund表明是否退款,false为无退款,ture为退款;attach是商家数据包,即生成订单package时商家填入的 time_end是支付完成时间;transport_fee是物流费用,单位为分; product_fee是物品费用,单位为分;discount是折扣价格,单位为分;rmb_total_fee是换算成人民币之后的总金额,单位为分,一般看total_fee即可。付接口
礼堂钟声,被敲打,幸福的密码

我要回帖

更多关于 微信怎么直接扫码付款 的文章

 

随机推荐