|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.foxinmy.weixin4j.api.BaseApi
com.foxinmy.weixin4j.api.MchApi
com.foxinmy.weixin4j.api.PayApi
public class PayApi
支付API
| Constructor Summary | |
|---|---|
PayApi(WeixinPayAccount weixinAccount)
|
|
| 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支付请求对象:正常流程用户支付完成后会返回至发起支付的页面,如需返回至指定页面, 则可以在MWEB_URL后拼接上redirect_url参数,来指定回调页面 |
void |
downloadBill(Date billDate,
BillType billType,
OutputStream outputStream,
TarType tarType)
下载对账单 1.微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账 单中,跟原支付单订单号一致,bill_type 为 REVOKED; 2.微信在次日 9 点启动生成前一天的对账单,建议商户 9 点半后再获取; 3.对账单中涉及金额的字段单位为“元”。 |
String |
getShorturl(String url)
native支付URL转短链接:用于扫码原生支付模式一中的二维码链接转成短链接(weixin://wxpay/s/XXXXXX),减小二维码数据量 ,提升扫描速度和精确度。 |
Order |
queryOrder(IdQuery idQuery)
订单查询 |
RefundRecord |
queryRefund(IdQuery idQuery)
退款查询 |
XmlResult |
reportInterface(String interfaceUrl,
int executeTime,
String outTradeNo,
String ip,
Date time,
XmlResult returnXml)
接口上报 |
MerchantResult |
reverseOrder(IdQuery idQuery)
冲正订单(需要证书) 当支付返回失败,或收银系统超时需要取消交易,可以调用该接口 接口逻辑:支 付失败的关单,支付成功的撤销支付 7天以内的单可撤销,其他正常支付的单 如需实现相同功能请调用退款接口 调用扣款接口后请勿立即调用撤销,需要等待5秒以上。先调用查单接口,如果没有确切的返回,再调用撤销 |
| Methods inherited from class com.foxinmy.weixin4j.api.MchApi |
|---|
getWeixinSignature |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PayApi(WeixinPayAccount weixinAccount)
| Method Detail |
|---|
public PrePay createPrePay(MchPayPackage payPackage)
throws WeixinException
payPackage - 包含订单信息的对象
WeixinExceptionMchPayPackage,
PrePay,
统一下单接口
public MchPayRequest createPayRequest(MchPayPackage payPackage)
throws WeixinException
payPackage - 支付详情
WeixinExceptionJS支付,
扫码支付,
刷卡支付,
APP支付,
WAP支付
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 - 附加数据 非必填
WeixinExceptionJSAPIPayRequest
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
public String createNativePayRequest(String productId)
productId - 与订单ID等价
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 - 附加数据 非必填
WeixinExceptionNativePayResponse,
扫码支付
,
模式一
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 - 附加数据 非必填
WeixinExceptionNATIVEPayRequest,
扫码支付
,
模式二
public MchPayRequest createAppPayRequest(String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
body - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元notifyUrl - 支付回调URLcreateIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionAPPPayRequest,
APP支付
public MchPayRequest createWapPayRequest(String body,
String outTradeNo,
double totalFee,
String notifyUrl,
String createIp,
String attach)
throws WeixinException
body - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元notifyUrl - 支付回调URLcreateIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionWAPPayRequest,
WAP支付
public MchPayRequest createMicroPayRequest(String authCode,
String body,
String outTradeNo,
double totalFee,
String createIp,
String attach)
throws WeixinException
authCode - 扫码支付授权码 ,设备读取用户微信中的条码或者二维码信息body - 商品描述outTradeNo - 商户内部唯一订单号totalFee - 商品总额 单位元createIp - 订单生成的机器 IPattach - 附加数据 非必填
WeixinExceptionMICROPayRequest,
Order,
提交被扫支付API
public Order queryOrder(IdQuery idQuery)
throws WeixinException
当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知; 调用支付接口后,返回系统错误或未知交易状态情况; 调用被扫支付API,返回USERPAYING的状态; 调用关单或撤销接口API之前,需确认支付状态;
idQuery - 商户系统内部的订单号, transaction_id、out_trade_no 二 选一,如果同时存在优先级:
transaction_id> out_trade_no
WeixinExceptionOrder,
订单查询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,
申请退款API
public RefundResult applyRefund(IdQuery idQuery,
String outRefundNo,
double totalFee)
throws WeixinException
idQuery - 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一,如果同时存在优先级:
transaction_id> out_trade_nooutRefundNo - 商户系统内部的退款单号,商 户系统内部唯一,同一退款单号多次请求只退一笔totalFee - 订单总金额,单位为元
WeixinException#applyRefund(IdQuery, String, double, double, CurrencyType, String, String, RefundAccountType)}
public MerchantResult reverseOrder(IdQuery idQuery)
throws WeixinException
idQuery - 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一,如果同时存在优先级:
transaction_id> out_trade_no
WeixinException
public String getShorturl(String url)
throws WeixinException
url - 具有native标识的支付URL
WeixinException
public MerchantResult closeOrder(String outTradeNo)
throws WeixinException
商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续 ,请调用关单接口,如果关单失败,返回已完 成支付请按正常支付处理。如果出现银行掉单,调用关单成功后,微信后台会主动发起退款。
outTradeNo - 商户系统内部的订单号
WeixinException
public void downloadBill(Date billDate,
BillType billType,
OutputStream outputStream,
TarType tarType)
throws WeixinException
billDate - 下载对账单的日期billType - 下载对账单的类型 ALL,返回当日所有订单信息, 默认值 SUCCESS,返回当日成功支付的订单
REFUND,返回当日退款订单outputStream - 输出流tarType - 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单。不传则默认为数据流形式。
WeixinException
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
WeixinExceptionRefundRecord,
RefundDetail,
退款查询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 - 调用接口返回的基本数据
WeixinException
public OpenIdResult authCode2openId(String authCode)
throws WeixinException
authCode - 扫码支付授权码,设备读取用户微信中的条码或者二维码信息
WeixinExceptionOpenIdResult,
授权码查询OPENID
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||