微信支付 Java SDK
对微信支付开发者文档中给出的API进行了封装。
com.github.wxpay.sdk.WXPay类下提供了对应的方法:
方法名 | 说明 |
---|---|
microPay | 刷卡支付 |
unifiedOrder | 统一下单 |
orderQuery | 查询订单 |
reverse | 撤销订单 |
closeOrder | 关闭订单 |
refund | 申请退款 |
refundQuery | 查询退款 |
downloadBill | 下载对账单 |
report | 交易保障 |
shortUrl | 转换短链接 |
authCodeToOpenid | 授权码查询openid |
- 注意:
- 证书文件不能放在web服务器虚拟目录,应放在有访问权限控制的目录中,防止被他人下载
- 建议将证书文件名改为复杂且不容易猜测的文件名
- 商户服务器要做好病毒和木马防护工作,不被非法侵入者窃取证书文件
- 请妥善保管商户支付密钥、公众帐号SECRET,避免密钥泄露
- 参数为
Map<String, String>
对象,返回类型也是Map<String, String>
- 方法内部会将参数会转换成含有
appid
、mch_id
、nonce_str
、sign\_type
和sign
的XML - 可选HMAC-SHA256算法和MD5算法签名
- 通过HTTPS请求得到返回数据后会对其做必要的处理(例如验证签名,签名错误则抛出异常)
- 对于downloadBill,无论是否成功都返回Map,且都含有
return_code
和return_msg
,若成功,其中return_code
为SUCCESS
,另外data
对应对账单数据
示例
配置类MyConfig:
1 | import com.github.wxpay.sdk.WXPayConfig; |
统一下单:
1 | import com.github.wxpay.sdk.WXPay; |
订单查询:
1 | import com.github.wxpay.sdk.WXPay; |
退款查询:
1 | import com.github.wxpay.sdk.WXPay; |
下载对账单:
1 | import com.github.wxpay.sdk.WXPay; |
其他API的使用和上面类似。
暂时不支持下载压缩格式的对账单,但可以使用该SDK生成请求用的XML数据:
1 | import com.github.wxpay.sdk.WXPay; |
收到支付结果通知时,需要验证签名,可以这样做:
1 |
|
HTTPS请求可选HMAC-SHA256算法和MD5算法签名:
1 | import com.github.wxpay.sdk.WXPay; |
若需要使用sandbox环境:
1 | import com.github.wxpay.sdk.WXPay; |