|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.foxinmy.weixin4j.payment.WeixinPayProxy
public class WeixinPayProxy
微信支付接口实现
| Field Summary | |
|---|---|
static String |
VERSION
|
| Constructor Summary | |
|---|---|
WeixinPayProxy()
微信支付接口实现(使用weixin4j.properties配置的account商户信息) |
|
WeixinPayProxy(WeixinPayAccount weixinPayAccount)
微信支付接口实现 |
|
| Method Summary | |
|---|---|
RefundResult |
applyRefund(IdQuery idQuery,
String outRefundNo,
double totalFee)
退款申请(全额退款) |
RefundResult |
applyRefund(IdQuery idQuery,
String outRefundNo,
double totalFee,
double refundFee,
CurrencyType refundFeeType,
String opUserId,
String refundDesc,
RefundAccountType refundAccountType)
申请退款(请求需要双向证书) |
OpenIdResult |
authCode2openId(String authCode)
授权码查询OPENID |
MerchantResult |
closeOrder(String outTradeNo)
关闭订单 |
String |
createAddressRequestJSON(String url,
String oauthToken)
生成编辑地址请求 |
MchPayRequest |
createAppPayRequest(String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
创建APP支付请求对象 |
MchPayRequest |
createJSPayRequest(String openId,
String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
创建JSAPI支付请求对象 |
MchPayRequest |
createMicroPayRequest(String authCode,
String body,
String outTradeNo,
double totalFee,
String createIp,
String attach)
提交被扫支付 |
String |
createNativePayRequest(String productId)
创建Native支付(扫码支付)链接【模式一】 |
MchPayRequest |
createNativePayRequest(String productId,
String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
创建Native支付(扫码支付)链接【模式二】 |
NativePayResponse |
createNativePayResponse(String productId,
String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
创建Native支付(扫码支付)回调对象【模式一】 |
MchPayRequest |
createPayRequest(MchPayPackage payPackage)
创建支付请求对象 |
PrePay |
createPrePay(MchPayPackage payPackage)
统一下单接口 除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI 、APP等不同场景生成交易串调起支付。 |
MchPayRequest |
createWapPayRequest(String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
创建WAP支付请求对象 |
CustomsOrderResult |
declareCustomsOrder(CustomsOrder customsOrder)
订单附加信息提交 |
void |
downloadBill(Date billDate,
BillType billType,
OutputStream outputStream,
TarType tarType)
下载对账单 1.微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账 单中,跟原支付单订单号一致,bill_type 为 REVOKED; 2.微信在次日 9 点启动生成前一天的对账单,建议商户 9 点半后再获取; 3.对账单中涉及金额的字段单位为“元”。 |
String |
getPayShorturl(String url)
native支付URL转短链接:用于扫码原生支付模式一中的二维码链接转成短链接(weixin://wxpay/s/XXXXXX),减小二维码数据量 ,提升扫描速度和精确度。 |
WeixinPayAccount |
getWeixinPayAccount()
获取微信商户账号信息 |
WeixinSignature |
getWeixinSignature()
获取微信签名类 |
CorpPaymentRecord |
queryCorpPayment(String outTradeNo)
企业付款查询 用于商户的企业付款操作进行结果查询,返回付款操作详细结果 |
CouponDetail |
queryCouponDetail(String openId,
String couponId,
String stockId)
查询代金券详细 |
CouponStock |
queryCouponStock(String couponStockId)
查询代金券批次 |
CustomsOrderRecord |
queryCustomsOrder(IdQuery idQuery,
CustomsCity customsCity)
订单附加信息查询 |
double |
queryExchageRate(CurrencyType currencyType,
Date date)
查询汇率 |
Order |
queryOrder(IdQuery idQuery)
订单查询 |
RedpacketRecord |
queryRedpack(String outTradeNo)
查询红包记录 |
RefundRecord |
queryRefund(IdQuery idQuery)
退款查询 |
SettlementRecord |
querySettlement(boolean status,
Pageable pageable,
Date start,
Date end)
查询结算资金 |
XmlResult |
reportInterface(String interfaceUrl,
int executeTime,
String outTradeNo,
String ip,
Date time,
XmlResult returnXml)
接口上报 |
MerchantResult |
reverseOrder(IdQuery idQuery)
冲正订单(需要证书) 当支付返回失败,或收银系统超时需要取消交易,可以调用该接口 接口逻辑:支 付失败的关单,支付成功的撤销支付 7天以内的单可撤销,其他正常支付的单 如需实现相同功能请调用退款接口 调用扣款接口后请勿立即调用撤销,需要等待5秒以上。先调用查单接口,如果没有确切的返回,再调用撤销 |
CorpPaymentResult |
sendCorpPayment(CorpPayment payment)
企业付款 实现企业向个人付款,针对部分有开发能力的商户, 提供通过API完成企业付款的功能。 比如目前的保险行业向客户退保、给付、理赔。 |
CouponResult |
sendCoupon(String couponStockId,
String partnerTradeNo,
String openId,
String opUserId)
发放代金券(需要证书) |
RedpacketSendResult |
sendRedpack(Redpacket redpacket)
发放红包 企业向微信用户个人发现金红包 |
List<Future<RedpacketSendResult>> |
sendRedpacks(Redpacket... redpackets)
批量发放红包 企业向微信用户个人发现金红包 |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String VERSION
| Constructor Detail |
|---|
public WeixinPayProxy()
public WeixinPayProxy(WeixinPayAccount weixinPayAccount)
weixinPayAccount - 微信商户信息| Method Detail |
|---|
public WeixinPayAccount getWeixinPayAccount()
public WeixinSignature getWeixinSignature()
public PrePay createPrePay(MchPayPackage payPackage)
throws WeixinException
payPackage - 包含订单信息的对象
WeixinExceptionPayApi,
MchPayPackage,
PrePay,
统一下单接口
public MchPayRequest createPayRequest(MchPayPackage payPackage)
throws WeixinException
payPackage - 支付详情
WeixinExceptionPayApi,
JS支付,
扫码支付,
刷卡支付,
APP支付,
WAP支付,
MchPayRequest.toRequestString()
public MchPayRequest createJSPayRequest(String openId,
String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
openId - 用户IDbody - 订单描述outTradeNo - 订单号totalFee - 订单总额(元)notifyUrl - 支付通知地址createIp - ip地址attach - 附加数据 非必填
WeixinExceptionPayApi,
JSAPIPayRequest,
MchPayRequest.toRequestString()
public String createAddressRequestJSON(String url,
String oauthToken)
生成编辑地址请求
err_msg edit_address:ok获取编辑收货地址成功 edit_address:fail获取编辑收货地址失败 userName 收货人姓名 telNumber 收货人电话 addressPostalCode 邮编 proviceFirstStageName 国标收货地址第一级地址 addressCitySecondStageName 国标收货地址第二级地址 addressCountiesThirdStageName 国标收货地址第三级地址 addressDetailInfo 详细收货地址信息 nationalCode 收货地址国家码
url - 当前访问页的URLoauthToken - oauth授权时产生的token
PayApi,
收货地址共享public String createNativePayRequest(String productId)
productId - 与订单ID等价
PayApi,
扫码支付
,
模式一
public NativePayResponse createNativePayResponse(String productId,
String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
productId - 商品IDbody - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元notifyUrl - 支付回调URLcreateIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionPayApi,
NativePayResponse,
扫码支付
,
模式一
public MchPayRequest createNativePayRequest(String productId,
String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
productId - 商品IDbody - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元notifyUrl - 支付回调URLcreateIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionPayApi,
NATIVEPayRequest,
MchPayRequest.toRequestString(),
扫码支付
,
模式二
public MchPayRequest createAppPayRequest(String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
body - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元notifyUrl - 支付回调URLcreateIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionPayApi,
APPPayRequest,
MchPayRequest.toRequestString(),
APP支付
public MchPayRequest createWapPayRequest(String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
body - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元notifyUrl - 支付回调URLcreateIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionPayApi,
WAPPayRequest,
MchPayRequest.toRequestString(),
WAP支付
public MchPayRequest createMicroPayRequest(String authCode,
String body,
String outTradeNo,
double totalFee,
String createIp,
String attach)
throws WeixinException
authCode - 扫码支付授权码 ,设备读取用户微信中的条码或者二维码信息body - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元createIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionPayApi,
Order,
MICROPayRequest,
MchPayRequest.toRequestString(),
提交被扫支付API
public Order queryOrder(IdQuery idQuery)
throws WeixinException
当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知; 调用支付接口后,返回系统错误或未知交易状态情况; 调用被扫支付API,返回USERPAYING的状态; 调用关单或撤销接口API之前,需确认支付状态;
idQuery - 商户系统内部的订单号, transaction_id、out_trade_no 二 选一,如果同时存在优先级:
transaction_id> out_trade_no
WeixinExceptionOrder,
PayApi,
订单查询API
public RefundResult applyRefund(IdQuery idQuery,
String outRefundNo,
double totalFee,
double refundFee,
CurrencyType refundFeeType,
String opUserId,
String refundDesc,
RefundAccountType refundAccountType)
throws WeixinException
当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后, 按照退款规则将支付款按原路退到买家帐号上。
1.交易时间超过半年的订单无法提交退款; 2.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交 ,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。
idQuery - 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一,如果同时存在优先级:
transaction_id> out_trade_nooutRefundNo - 商户系统内部的退款单号,商 户系统内部唯一,同一退款单号多次请求只退一笔totalFee - 订单总金额,单位为元refundFee - 退款总金额,单位为元,可以做部分退款refundFeeType - 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNYopUserId - 操作员帐号, 默认为商户号refundDesc - 退款原因,若商户传入,会在下发给用户的退款消息中体现退款原因refundAccountType - 退款资金来源,默认使用未结算资金退款:REFUND_SOURCE_UNSETTLED_FUNDS
WeixinExceptionRefundResult,
PayApi,
申请退款API
public RefundResult applyRefund(IdQuery idQuery,
String outRefundNo,
double totalFee)
throws WeixinException
IOException
WeixinException#applyRefund(IdQuery, String, double, double, String,CurrencyType)}
public RefundRecord queryRefund(IdQuery idQuery)
throws WeixinException
提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。
idQuery - 单号 refund_id、out_refund_no、 out_trade_no 、 transaction_id
四个参数必填一个,优先级为:
refund_id>out_refund_no>transaction_id>out_trade_no
WeixinExceptionPayApi,
RefundRecord,
退款查询API
public void downloadBill(Date billDate,
BillType billType,
OutputStream outputStream,
TarType tarType)
throws WeixinException
billDate - 下载对账单的日期billType - 下载对账单的类型 ALL,返回当日所有订单信息, 默认值 SUCCESS,返回当日成功支付的订单
REFUND,返回当日退款订单tarType - 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单。不传则默认为数据流形式。
WeixinExceptionPayApi,
下载对账单API
public MerchantResult reverseOrder(IdQuery idQuery)
throws WeixinException
idQuery - 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一,如果同时存在优先级:
transaction_id> out_trade_no
WeixinExceptionPayApi
public MerchantResult closeOrder(String outTradeNo)
throws WeixinException
商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续 ,请调用关单接口,如果关单失败,返回已完 成支付请按正常支付处理。如果出现银行掉单,调用关单成功后,微信后台会主动发起退款。
outTradeNo - 商户系统内部的订单号
WeixinExceptionPayApi,
关闭订单API
public String getPayShorturl(String url)
throws WeixinException
url - 具有native标识的支付URL
WeixinExceptionPayApi,
转换短链接API
public XmlResult reportInterface(String interfaceUrl,
int executeTime,
String outTradeNo,
String ip,
Date time,
XmlResult returnXml)
throws WeixinException
interfaceUrl - 上报对应的接口的完整 URL, 类似: https://api.mch.weixin.q
q.com/pay/unifiedorderexecuteTime - 接口耗时情况,单位为毫秒outTradeNo - 商户系统内部的订单号,商 户可以在上报时提供相关商户订单号方便微信支付更好 的提高服务质量。ip - 发起接口调用时的机器 IPtime - 商户调用该接口时商户自己 系统的时间returnXml - 调用接口返回的基本数据
WeixinExceptionPayApi,
接口测试上报API
public CouponResult sendCoupon(String couponStockId,
String partnerTradeNo,
String openId,
String opUserId)
throws WeixinException
couponStockId - 代金券批次idpartnerTradeNo - 商户发放凭据号(格式:商户id+日期+流水号),商户侧需保持唯一性openId - 用户的openidopUserId - 操作员帐号, 默认为商户号 可在商户平台配置操作员对应的api权限 可为空
WeixinExceptionCouponApi,
CouponResult,
发放代金券接口
public CouponStock queryCouponStock(String couponStockId)
throws WeixinException
couponStockId - 代金券批次ID
WeixinExceptionCouponApi,
CouponStock,
查询代金券批次信息接口
public CouponDetail queryCouponDetail(String openId,
String couponId,
String stockId)
throws WeixinException
openId - 用户IDcouponId - 代金券IDstockId - 代金劵对应的批次号
WeixinExceptionCouponApi,
CouponDetail,
查询代金券详细信息接口
public RedpacketSendResult sendRedpack(Redpacket redpacket)
throws WeixinException
redpacket - 红包信息
WeixinExceptionCashApi,
Redpacket,
RedpacketSendResult,
发放现金红包接口,
发放裂变红包接口public List<Future<RedpacketSendResult>> sendRedpacks(Redpacket... redpackets)
redpacket - 多个红包信息
WeixinExceptionCashApi,
sendRedpacks(Redpacket...)
public RedpacketRecord queryRedpack(String outTradeNo)
throws WeixinException
outTradeNo - 商户发放红包的商户订单号
WeixinExceptionCashApi,
RedpacketRecord,
查询现金红包接口,
查询裂变红包接口
public CorpPaymentResult sendCorpPayment(CorpPayment payment)
throws WeixinException
接口调用规则:
payment - 付款信息
WeixinExceptionCashApi,
CorpPayment,
CorpPaymentResult,
企业付款接口
public CorpPaymentRecord queryCorpPayment(String outTradeNo)
throws WeixinException
outTradeNo - 商户调用企业付款API时使用的商户订单号
WeixinExceptionCashApi,
CorpPaymentRecord,
企业付款查询接口
public OpenIdResult authCode2openId(String authCode)
throws WeixinException
authCode - 扫码支付授权码,设备读取用户微信中的条码或者二维码信息
WeixinExceptionCashApi,
OpenIdResult,
授权码查询OPENID
public SettlementRecord querySettlement(boolean status,
Pageable pageable,
Date start,
Date end)
throws WeixinException
status - 是否结算pageable - 分页数据start - 开始日期 查询未结算记录时,该字段可不传end - 结束日期 查询未结算记录时,该字段可不传
WeixinExceptionCashApi,
SettlementRecord,
查询结算资金接口
public double queryExchageRate(CurrencyType currencyType,
Date date)
throws WeixinException
currencyType - 外币币种date - 日期 不填则默认当天
WeixinExceptionCashApi,
查询汇率接口
public CustomsOrderResult declareCustomsOrder(CustomsOrder customsOrder)
throws WeixinException
customsOrder - 附加订单信息
WeixinExceptionCustomsApi,
CustomsOrder,
CustomsOrderResult,
附加订单信息提交接口
public CustomsOrderRecord queryCustomsOrder(IdQuery idQuery,
CustomsCity customsCity)
throws WeixinException
idQuery - out_trade_no,transaction_id,sub_order_no,sub_order_id四选一customsCity - 海关
WeixinExceptionCustomsOrderRecord,
CustomsApi,
附加订单信息查询接口
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||