C# 클래스 Deepleo.Weixin.SDK.Pay.WxPayAPI

微信支付 => 公共API http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1
파일 보기 프로젝트 열기: night-king/weixinSDK 1 사용 예제들

공개 메소드들

메소드 설명
CloseOrder ( string appid, string mch_id, string transaction_id, string out_trade_no, string nonce_str, string partnerKey ) : dynamic

公共API => 关闭订单 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_3 应用场景 不需要证书 以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。

Downloadbill ( string appid, string mch_id, string device_info, string nonce_str, string bill_date, string bill_type, string partnerKey ) : dynamic

公共API => 下载对账单 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_6 应用场景 商户可以通过该接口下载历史交易清单。比如掉单、系统错误等导致商户侧和微信侧数据不一致,通过对账单核对后可校正支付状态。 注意: 1.微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致,bill_type为REVOKED; 2.微信在次日9点启动生成前一天的对账单,建议商户10点后再获取; 3.对账单中涉及金额的字段单位为“元”。

OrderQuery ( string appid, string mch_id, string transaction_id, string out_trade_no, string nonce_str, string partnerKey ) : dynamic

公共API => 查询订单 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_2 该接口提供所有微信支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。 需要调用查询接口的情况: ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知; ◆ 调用支付接口后,返回系统错误或未知交易状态情况; ◆ 调用被扫支付API,返回USERPAYING的状态; ◆ 调用关单或撤销接口API之前,需确认支付状态;

Refund ( string appid, string mch_id, string device_info, string nonce_str, string transaction_id, string out_trade_no, string out_refund_no, int total_fee, int refund_fee, string refund_fee_type, string op_user_id, string partnerKey ) : dynamic

公共API => 申请退款 需要双向证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_4 应用场景 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 注意: 1.交易时间超过半年的订单无法提交退款; 2.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。 3.接口提交成功后,还需要在微信商户后台由商户管理员审核退款

RefundQuery ( string appid, string mch_id, string device_info, string nonce_str, string transaction_id, string out_trade_no, string out_refund_no, string refund_id, string partnerKey ) : dynamic

公共API => 查询退款 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_5 应用场景 提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。

Report ( string appid, string mch_id, string device_info, string nonce_str, string interface_url, string execute_time_, string return_code, string return_msg, string result_code, string err_code, string err_code_des, string out_trade_no, string user_ip, string time, string partnerKey ) : dynamic

公共API => 测速上报 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_8 应用场景 商户在调用微信支付提供的相关接口时,会得到微信支付返回的相关信息以及获得整个接口的响应时间。为提高整体的服务水平, 协助商户一起提高服务质量,微信支付提供了相关接口调用耗时和返回信息的主动上报接口,微信支付可以根据商户侧上报的数据进一步优化网络部署,完善服务监控,和商户更好的协作为用户提供更好的业务体验。

ShortUrl ( string appid, string mch_id, string long_url, string nonce_str, string partnerKey ) : dynamic

公共API => 转换短链接 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_9 应用场景 该接口主要用于扫码原生支付模式一中的二维码链接转成短链接(weixin://wxpay/s/XXXXXX),减小二维码数据量,提升扫描速度和精确度。

Sign ( string>.IDictionary stringADict, string partnerKey ) : string

生成签名 签名在线验证工具: http://mch.weixin.qq.com/wiki/tools/signverify/

UnifiedOrder ( string appid, string mch_id, string device_info, string nonce_str, string body, string detail, string attach, string out_trade_no, string fee_type, int total_fee, string spbill_create_ip, string time_start, string time_expire, string goods_tag, string notify_url, string trade_type, string product_id, string openid, string partnerKey ) : dynamic

公共API => 统一下单 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1# 应用场景 除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。

메소드 상세

CloseOrder() 공개 정적인 메소드

公共API => 关闭订单 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_3 应用场景 不需要证书 以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。
public static CloseOrder ( string appid, string mch_id, string transaction_id, string out_trade_no, string nonce_str, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
transaction_id string
out_trade_no string (transaction_id为空时必填) String(32) 商户订单号 商户系统内部的订单号,当没提供transaction_id时需要传这个。
nonce_str string 随机字符串 随机字符串,不长于32位。
partnerKey string API密钥
리턴 dynamic

Downloadbill() 공개 정적인 메소드

公共API => 下载对账单 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_6 应用场景 商户可以通过该接口下载历史交易清单。比如掉单、系统错误等导致商户侧和微信侧数据不一致,通过对账单核对后可校正支付状态。 注意: 1.微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致,bill_type为REVOKED; 2.微信在次日9点启动生成前一天的对账单,建议商户10点后再获取; 3.对账单中涉及金额的字段单位为“元”。
public static Downloadbill ( string appid, string mch_id, string device_info, string nonce_str, string bill_date, string bill_type, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
device_info string String(32) 微信支付分配的终端设备号,商户自定义
nonce_str string (必填) 随机字符串 随机字符串,不长于32位。
bill_date string String(8) 对账单日起 下载对账单的日期,格式:20140603
bill_type string String(8) 账单类型 ALL,返回当日所有订单信息,默认值 SUCCESS,返回当日成功支付的订单; REFUND,返回当日退款订单; REVOKED,已撤销的订单
partnerKey string API密钥
리턴 dynamic

OrderQuery() 공개 정적인 메소드

公共API => 查询订单 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_2 该接口提供所有微信支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。 需要调用查询接口的情况: ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知; ◆ 调用支付接口后,返回系统错误或未知交易状态情况; ◆ 调用被扫支付API,返回USERPAYING的状态; ◆ 调用关单或撤销接口API之前,需确认支付状态;
public static OrderQuery ( string appid, string mch_id, string transaction_id, string out_trade_no, string nonce_str, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
transaction_id string String(32) 微信订单号 微信的订单号,优先使用
out_trade_no string (transaction_id为空时必填) String(32) 商户订单号 商户系统内部的订单号,当没提供transaction_id时需要传这个。
nonce_str string 随机字符串 随机字符串,不长于32位。
partnerKey string API密钥
리턴 dynamic

Refund() 공개 정적인 메소드

公共API => 申请退款 需要双向证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_4 应用场景 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 注意: 1.交易时间超过半年的订单无法提交退款; 2.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。 3.接口提交成功后,还需要在微信商户后台由商户管理员审核退款
public static Refund ( string appid, string mch_id, string device_info, string nonce_str, string transaction_id, string out_trade_no, string out_refund_no, int total_fee, int refund_fee, string refund_fee_type, string op_user_id, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
device_info string String(32) 微信支付分配的终端设备号,商户自定义
nonce_str string (必填) 随机字符串 随机字符串,不长于32位。
transaction_id string String(32) 微信订单号 微信的订单号,优先使用
out_trade_no string (transaction_id为空时必填) String(32) 商户订单号 transaction_id、out_trade_no二选一,如果同时存在优先级:transaction_id> out_trade_no
out_refund_no string (必填) String(32) 商户退款单号 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔
total_fee int (必填) int 总金额 订单总金额,单位为分,只能为整数。
refund_fee int (必填) int 退款金额 退款总金额,订单总金额,单位为分,只能为整数
refund_fee_type string String(8) 货币种类 符合ISO 4217标准的三位字母代码,默认人民币:CNY
op_user_id string (必填) String(32) 操作员 操作员帐号, 默认为商户号mch_id
partnerKey string API密钥
리턴 dynamic

RefundQuery() 공개 정적인 메소드

公共API => 查询退款 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_5 应用场景 提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。
public static RefundQuery ( string appid, string mch_id, string device_info, string nonce_str, string transaction_id, string out_trade_no, string out_refund_no, string refund_id, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
device_info string String(32) 微信支付分配的终端设备号,商户自定义
nonce_str string (必填) 随机字符串 随机字符串,不长于32位。
transaction_id string String(32) 微信订单号 微信的订单号,优先使用
out_trade_no string String(32) 商户订单号 transaction_id、out_trade_no二选一,如果同时存在优先级:transaction_id> out_trade_no
out_refund_no string String(32) 商户退款单号 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔
refund_id string String(28) 微信退款单号 refund_id、out_refund_no、out_trade_no、transaction_id四个参数必填一个,如果同时存在优先级为: refund_id>out_refund_no>transaction_id>out_trade_no
partnerKey string API密钥
리턴 dynamic

Report() 공개 정적인 메소드

公共API => 测速上报 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_8 应用场景 商户在调用微信支付提供的相关接口时,会得到微信支付返回的相关信息以及获得整个接口的响应时间。为提高整体的服务水平, 协助商户一起提高服务质量,微信支付提供了相关接口调用耗时和返回信息的主动上报接口,微信支付可以根据商户侧上报的数据进一步优化网络部署,完善服务监控,和商户更好的协作为用户提供更好的业务体验。
public static Report ( string appid, string mch_id, string device_info, string nonce_str, string interface_url, string execute_time_, string return_code, string return_msg, string result_code, string err_code, string err_code_des, string out_trade_no, string user_ip, string time, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
device_info string String(32) 微信支付分配的终端设备号,商户自定义
nonce_str string (必填) 随机字符串 随机字符串,不长于32位。
interface_url string String(127) 接口URL 上报对应的接口的完整URL,类似: ///https://api.mch.weixin.qq.com/pay/unifiedorder ///对于被扫支付,为更好的和商户共同分析一次业务行为的整体耗时情况,对于两种接入模式,请都在门店侧对一次被扫行为进行一次单独的整体上报,上报URL指定为: ///https://api.mch.weixin.qq.com/pay/micropay/total ///关于两种接入模式具体可参考本文档章节:被扫支付商户接入模式 ///其它接口调用仍然按照调用一次,上报一次来进行。 ///
execute_time_ string Int 接口耗时 接口耗时情况,单位为毫秒
return_code string String(16) 返回状态码 接口耗时情况,单位为毫秒
return_msg string String(128) 返回信息 返回信息,如非空,为错误原因 :签名失败; 参数格式校验错误
result_code string String(16) 业务结果 SUCCESS/FAIL
err_code string String(32) 错误代码
err_code_des string String(128) 错误代码描述
out_trade_no string String(32) 商户订单号 商户系统内部的订单号,商户可以在上报时提供相关商户订单号方便微信支付更好的提高服务质量。
user_ip string String(16) 访问接口IP 发起接口调用时的机器IP
time string String(14) 商户上报时间 系统时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。 其他详见第4.2节时间规则:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_2
partnerKey string API密钥
리턴 dynamic

ShortUrl() 공개 정적인 메소드

公共API => 转换短链接 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_9 应用场景 该接口主要用于扫码原生支付模式一中的二维码链接转成短链接(weixin://wxpay/s/XXXXXX),减小二维码数据量,提升扫描速度和精确度。
public static ShortUrl ( string appid, string mch_id, string long_url, string nonce_str, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
long_url string (必填) String(512) URL链接 需要转换的URL,签名用原串,传输需URL encode
nonce_str string (必填) 随机字符串 随机字符串,不长于32位。
partnerKey string (必填)API密钥
리턴 dynamic

Sign() 공개 정적인 메소드

生成签名 签名在线验证工具: http://mch.weixin.qq.com/wiki/tools/signverify/
public static Sign ( string>.IDictionary stringADict, string partnerKey ) : string
stringADict string>.IDictionary 参与签名生成的参数列表
partnerKey string 商家私钥
리턴 string

UnifiedOrder() 공개 정적인 메소드

公共API => 统一下单 不需要证书 http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1# 应用场景 除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。
public static UnifiedOrder ( string appid, string mch_id, string device_info, string nonce_str, string body, string detail, string attach, string out_trade_no, string fee_type, int total_fee, string spbill_create_ip, string time_start, string time_expire, string goods_tag, string notify_url, string trade_type, string product_id, string openid, string partnerKey ) : dynamic
appid string (必填) String(32) 微信分配的公众账号ID
mch_id string (必填) String(32) 微信支付分配的商户号
device_info string String(32) 微信支付分配的终端设备号,商户自定义
nonce_str string (必填) String(32) 随机字符串,不长于32位
body string (必填) String(32) 商品描述 商品或支付单简要描
detail string String(8192) 商品详情 商品名称明细列表
attach string String(127) 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
out_trade_no string (必填) String(32) 商家订单ID,32个字符内、可包含字母, 其他说明见第4.2节商户订单号:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_2
fee_type string 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见第4.2节货币类型: http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_2
total_fee int (必填) Int 订单总金额,只能为整数,详见第4.2节支付金额:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_2
spbill_create_ip string (必填) String(32)终端IP APP和网页支付提交用户端IP,Native支付填调用微信支付API的机器IP。
time_start string String(14) 订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。
time_expire string String(14) 订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。
goods_tag string String(32) 商品标记,代金券或立减优惠功能的参数,说明详见第10节代金券或立减优惠:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=10_1
notify_url string (必填) String(256) 接收微信支付异步通知回调地址
trade_type string (必填) String(16) 交易类型,取值如下:JSAPI,NATIVE,APP,详细说明见第4.2节参数规定:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_2
product_id string (trade_type=NATIVE,此参数必传)String(32) 商品ID,trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义。
openid string (trade_type=JSAPI,此参数必传)String(128)用户标识,trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。
partnerKey string API密钥
리턴 dynamic