imtoken官网下载中国版2.0|wechatpay
微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式
>微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式
境内商户
合作伙伴
International Business
微信支付商户平台
首页
接入指引
产品中心
解决方案
文档中心
接入微信支付
微信扫一扫
二维码失效
刷新
扫码成功
请在手机端完成操作
登录失败
登录被拒绝,请刷新重试
刷新
登录失败
该微信号未绑定商户号
前往绑定
登录失败
该员工账号无登录权限,请找管理员进行配置
前往查看
登录失败
该商户不支持登录商户平台,请前往小程序进行管理
登录失败
刷新
登录失败
网络错误,请刷新页面重试
刷新
网络错误,请刷新重试
成为商家
绑定微信号
找回商户号
账号密码登录
账号密码登录
由于Safari浏览器安全策略,如密码输入出现异常,请根据指引获取解决方案,查看指引
如密码输入出现异常,请根据指引获取解决方案,查看指引。
登录账号
登录密码
换一张
登录
忘记密码
平台开放能力
支付产品
满足商家在各类交易场景中快速收款的需求
运营工具
红包,代金券,立减折扣等多种营销工具助力商户更好的经营
资金管理
为商家提供安全,便捷,可配置的资金解决方案
拓展工具
开放技术能力,为商家提供全方位安全保障
查看更多>>
行业解决方案
生活服务
通过微信整合能力,助力挖掘流量洼地,整合平台内容、服务和支付能力,为用户提供更友好的体验,助力提升行业效率。
智慧零售
顾客通过扫码购、自助收银等服务,运用微信大数据,对用户进行精准触达,实现会员、营销、导购的一站式运营。
智慧餐饮
微信扫码点餐助力餐饮行业“免排队,轻松点”,通过精准营销,提高门店效率,增加粘性,助力餐饮行业智慧升级。
智慧出行
通过扫码缴费/乘车、自助充值和线上支付,让大家在交通、酒店和景区等方面畅行无阻,出行更无忧,效率与温度并存。
教育医疗
协助学校、教育机构和医院精准触达到每一位师生、医生和患者;微信小程序则可将教学、生活和医疗设施的管理线上化。
政务民生
微信线上办事,帮助简化医保社保、税务、签证、户政办理和生活缴费等办事流程,助力更多的人和事实现“最多跑一次”。
接入微信支付
1
提交资料
在线提交营业执照、身份证、银行账户等基本信息,并按指引完成账户验证
2
签署协议
微信支付团队会在1-2个工作日内完成审核,审核通过后请在线签约,即可体验各项产品能力
3
绑定场景
如需自行开发完成收款,需将商户号与APPID进行绑定,或开通微信收款商业版(免开发)完成收款
接入微信支付
温馨提示
关闭
确定
温馨提示
关闭
微信支付登录模式升级,请切换至扫码登录模式
若账号未绑定微信号,请点击此处
确定
关于我们
关于微信支付
平台使用协议
支付服务协议
联系我们
服务支持
开发文档(商户)
开发文档(合作伙伴)
物料下载
友情链接
微信开放平台
微信公众平台
企业微信
客服帮助
自助服务专区
客服:95017-2
(工作时间:09:00-22:00)
关注微信支付商家助手公众号
Powered By Tencent & Tenpay Copyright 2005-2024 Tenpay All Rights Reserved.
WeChat Pay
WeChat Pay
New Version
WeChat Pay
Home|
Products|
Apply|
Partners|
Developers|
Help Center
Online course
Regulations
Q&A
|
Contact US
Apply Now
Numerous Active Users
Used by hundreds of millions of users every day, WeChat Pay is one of the most popular payment methods in China.
Learn More
Multiple Payment Methods
WeChat can handle all the ways your users want to pay, whether it is via Quick Pay, QR Code, In-App Web-Based, or Native In-App Payments.
Learn More
Cross-border Settlement
Supports settlement across major foreign currencies. Customers pay in CNY, but the transaction is settled in a foreign currency.
Learn More
About Tenpay
|
Contact Us
|
Powered By Tencent & Tenpay Copyright © 2005-2024 Tenpay All Rights Reserved.
微信支付接口 - wechatpy 1.8.18 文档
微信支付接口 - wechatpy 1.8.18 文档
Contents
Menu
Expand
Light mode
Dark mode
Auto light/dark mode
Hide navigation sidebar
Hide table of contents sidebar
Toggle site navigation sidebar
wechatpy 1.8.18 文档
Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
wechatpy 1.8.18 文档
安装与升级
快速上手
推送消息
推送事件
回复
微信主动调用接口Toggle child pages in navigation
卡券接口
客服消息接口
数据分析接口
设备功能接口
用户分组接口
发票接口
JS-SDK 接口
营销接口
素材接口
媒体文件接口
自定义菜单接口
微信小店接口
主动消息接口
工具类接口
二维码接口
微信扫一扫接口
语义理解接口
摇一摇周边接口
用户标签接口
模板消息相关接口
用户接口
微信连 Wi-Fi 接口
小程序接口
微信支付接口
微信 OAuth 网页授权接入
企业微信快速上手
企业微信主动调用接口
代公众号调用接口
更新日志
v: stable
Versions
master
latest
stable
v1
Downloads
On Read the Docs
Project Home
Builds
Back to top
Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
微信支付接口#
WeChatPay#
class wechatpy.pay.WeChatPay(*args, **kwargs)[源代码]#
微信支付接口
参数
appid – 微信公众号 appid
sub_appid – 当前调起支付的小程序APPID
api_key – 商户 key,不要在这里使用小程序的密钥
mch_id – 商户号
sub_mch_id – 可选,子商户号,受理模式下必填
mch_cert – 必填,商户证书路径
mch_key – 必填,商户证书私钥路径
timeout – 可选,请求超时时间,单位秒,默认无超时设置
sandbox – 可选,是否使用测试环境,默认为 False
coupon =
代金券接口
classmethod get_payment_data(xml)[源代码]#
解析微信支付结果通知,获得appid, mch_id, out_trade_no, transaction_id
如果你需要进一步判断,请先用appid, mch_id来生成WeChatPay,
然后用`wechatpay.parse_payment_result(xml)`来校验支付结果
使用示例:
from wechatpy.pay import WeChatPay
# 假设你已经获取了微信服务器推送的请求中的xml数据并存入xml变量
data = WeChatPay.get_payment_appid(xml)
{
"appid": "公众号或者小程序的id",
"mch_id": "商户id",
}
jsapi =
公众号网页 JS 支付接口
micropay =
刷卡支付接口
order =
订单接口
parse_payment_result(xml)[源代码]#
解析微信支付结果通知
parse_refund_notify_result(xml)[源代码]#
解析微信退款结果通知
redpack =
红包接口
refund =
退款接口
tools =
工具类接口
transfer =
企业付款接口
withhold =
代扣接口
现金红包接口#
class wechatpy.pay.api.WeChatRedpack(client=None)[源代码]#
query(out_trade_no, bill_type='MCHT')[源代码]#
查询红包发放记录
参数
out_trade_no – 商户订单号
bill_type – 可选,订单类型,目前固定为 MCHT
返回
返回的红包发放记录信息
send(user_id, total_amount, send_name, act_name, wishing, remark, total_num=1, client_ip=None, out_trade_no=None, scene_id=None, consume_mch_id=None)[源代码]#
发送现金红包
参数
user_id – 接收红包的用户在公众号下的 openid
total_amount – 红包金额,单位分
send_name – 商户名称
act_name – 活动名称
wishing – 红包祝福语
remark – 备注
client_ip – 可选,调用接口的机器 IP 地址
total_num – 可选,红包发放总人数,默认为 1
out_trade_no – 可选,商户订单号,默认会自动生成
scene_id – 可选,发放红包使用场景,红包金额大于200时必传
consume_mch_id – 可选,资金授权商户号。服务商替特约商户发放时使用
返回
返回的结果数据字典
send_group(user_id, total_amount, send_name, act_name, wishing, remark, total_num, client_ip=None, amt_type='ALL_RAND', out_trade_no=None, scene_id=None, consume_mch_id=None)[源代码]#
发送裂变红包
参数
user_id – 接收红包的用户在公众号下的 openid
total_amount – 红包金额,单位分
send_name – 商户名称
act_name – 活动名称
wishing – 红包祝福语
remark – 备注
total_num – 红包发放总人数
client_ip – 可选,调用接口的机器 IP 地址
amt_type – 可选,红包金额设置方式
ALL_RAND—全部随机,商户指定总金额和红包发放总人数,由微信支付随机计算出各红包金额
out_trade_no – 可选,商户订单号,默认会自动生成
scene_id – 可选,发放红包使用场景,红包金额大于200时必传
consume_mch_id – 可选,资金授权商户号。服务商替特约商户发放时使用
返回
返回的结果数据字典
企业付款接口#
class wechatpy.pay.api.WeChatTransfer(client=None)[源代码]#
query(out_trade_no)[源代码]#
企业付款查询接口
参数
out_trade_no – 商户调用企业付款API时使用的商户订单号
返回
返回的结果数据
query_bankcard(out_trade_no)[源代码]#
企业付款查询接口
参数
out_trade_no – 商户调用企业付款API时使用的商户订单号
返回
返回的结果数据
transfer(user_id, amount, desc, client_ip=None, check_name='OPTION_CHECK', real_name=None, out_trade_no=None, device_info=None)[源代码]#
企业付款接口
参数
user_id – 接受收红包的用户在公众号下的 openid
amount – 付款金额,单位分
desc – 付款说明
client_ip – 可选,调用接口机器的 IP 地址
check_name – 可选,校验用户姓名选项,
NO_CHECK:不校验真实姓名,
FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账),
OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功),
默认为 OPTION_CHECK
real_name – 可选,收款用户真实姓名,
如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名
out_trade_no – 可选,商户订单号,需保持唯一性,默认自动生成
device_info – 可选,微信支付分配的终端设备号
返回
返回的结果信息
transfer_bankcard(true_name, bank_card_no, bank_code, amount, desc=None, out_trade_no=None)[源代码]#
企业付款到银行卡接口
参数
true_name – 开户人名称
bank_card_no – 银行卡号
bank_code – 银行编号
amount – 付款金额,单位分
desc – 付款说明
out_trade_no – 可选,商户订单号,需保持唯一性,默认自动生成
返回
返回的结果信息
代金券接口#
class wechatpy.pay.api.WeChatCoupon(client=None)[源代码]#
query_coupon(coupon_id, user_id, op_user_id=None, device_info=None)[源代码]#
查询代金券信息
参数
coupon_id – 代金券 ID
user_id – 用户在公众号下的 openid
op_user_id – 可选,操作员账号,默认为商户号
device_info – 可选,微信支付分配的终端设备号
返回
返回的结果信息
query_stock(stock_id, op_user_id=None, device_info=None)[源代码]#
查询代金券批次
参数
stock_id – 代金券批次 ID
op_user_id – 可选,操作员账号,默认为商户号
device_info – 可选,微信支付分配的终端设备号
返回
返回的结果信息
send(user_id, stock_id, op_user_id=None, device_info=None, out_trade_no=None)[源代码]#
发放代金券
参数
user_id – 用户在公众号下的 openid
stock_id – 代金券批次 ID
op_user_id – 可选,操作员账号,默认为商户号
device_info – 可选,微信支付分配的终端设备号
out_trade_no – 可选,商户订单号,需保持唯一性,默认自动生成
返回
返回的结果信息
订单接口#
class wechatpy.pay.api.WeChatOrder(client=None)[源代码]#
close(out_trade_no)[源代码]#
关闭订单
参数
out_trade_no – 商户系统内部的订单号
返回
返回的结果数据
create(trade_type, body, total_fee, notify_url, client_ip=None, user_id=None, out_trade_no=None, detail=None, attach=None, fee_type='CNY', time_start=None, time_expire=None, goods_tag=None, product_id=None, device_info=None, limit_pay=None, scene_info=None, sub_user_id=None, **kwargs)[源代码]#
统一下单接口
参数
trade_type – 交易类型,取值如下:JSAPI,NATIVE,APP,WAP, MWEB
body – 商品描述
total_fee – 总金额,单位分
notify_url – 接收微信支付异步通知回调地址
client_ip – 可选,APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP
user_id – 可选,用户在商户appid下的唯一标识。trade_type=JSAPI和appid已设定,此参数必传
sub_user_id – 可选,小程序appid下的唯一标识。trade_type=JSAPI和sub_appid已设定,此参数必传
out_trade_no – 可选,商户订单号,默认自动生成
detail – 可选,商品详情
attach – 可选,附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
fee_type – 可选,符合ISO 4217标准的三位字母代码,默认人民币:CNY
time_start – 可选,订单生成时间,默认为当前时间
time_expire – 可选,订单失效时间,默认为订单生成时间后两小时
goods_tag – 可选,商品标记,代金券或立减优惠功能的参数
product_id – 可选,trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义
device_info – 可选,终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传”WEB”
limit_pay – 可选,指定支付方式,no_credit–指定不能使用信用卡支付
scene_info (dict) – 可选,上报支付的场景信息
kwargs – 其他未列举在上述参数中的统一下单接口调用参数,例如电子发票入口开放标识receipt
返回
返回的结果数据
get_appapi_params(prepay_id, timestamp=None, nonce_str=None)[源代码]#
获取 APP 支付参数
参数
prepay_id – 统一下单接口返回的 prepay_id 参数值
timestamp – 可选,时间戳,默认为当前时间戳
nonce_str – 可选,随机字符串,默认自动生成
返回
签名
query(transaction_id=None, out_trade_no=None)[源代码]#
查询订单
参数
transaction_id – 微信的订单号,优先使用
out_trade_no – 商户系统内部的订单号,当没提供transaction_id时需要传这个。
返回
返回的结果数据
reverse(transaction_id=None, out_trade_no=None)[源代码]#
撤销订单
参数
transaction_id – 可选,微信的订单号,优先使用
out_trade_no – 可选,商户系统内部的订单号,
transaction_id、out_trade_no二选一,
如果同时存在优先级:transaction_id> out_trade_no
返回
返回的结果数据
退款接口#
class wechatpy.pay.api.WeChatRefund(client=None)[源代码]#
apply(total_fee, refund_fee, out_refund_no, transaction_id=None, out_trade_no=None, fee_type='CNY', op_user_id=None, device_info=None, refund_account='REFUND_SOURCE_UNSETTLED_FUNDS', refund_desc=None, notify_url=None)[源代码]#
申请退款
参数
total_fee – 订单总金额,单位为分
refund_fee – 退款总金额,单位为分
out_refund_no – 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔
transaction_id – 可选,微信订单号
out_trade_no – 可选,商户系统内部的订单号,与 transaction_id 二选一
fee_type – 可选,货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
op_user_id – 可选,操作员帐号, 默认为商户号
device_info – 可选,终端设备号
refund_desc – 可选,退款原因
refund_account – 可选,退款资金来源,仅针对老资金流商户使用,默认使用未结算资金退款
notify_url – 可选,异步接收微信支付退款结果通知的回调地址
返回
返回的结果数据
query(refund_id=None, out_refund_no=None, transaction_id=None, out_trade_no=None, device_info=None)[源代码]#
查询退款
参数
refund_id – 微信退款单号
out_refund_no – 商户退款单号
transaction_id – 微信订单号
out_trade_no – 商户系统内部的订单号
device_info – 可选,终端设备号
返回
返回的结果数据
工具类接口#
class wechatpy.pay.api.WeChatTools(client=None)[源代码]#
auto_code_to_openid(auth_code)[源代码]#
授权码查询 openid 接口
参数
auth_code – 扫码支付授权码,设备读取用户微信中的条码或者二维码信息
返回
返回的结果数据
download_bill(bill_date, bill_type='ALL', device_info=None)[源代码]#
下载对账单
参数
bill_date – 下载对账单的日期
bill_type – 账单类型,ALL,返回当日所有订单信息,默认值
SUCCESS,返回当日成功支付的订单,
REFUND,返回当日退款订单,
REVOKED,已撤销的订单
device_info – 微信支付分配的终端设备号,填写此字段,只下载该设备号的对账单
返回
返回的结果数据
download_fundflow(bill_date, account_type='Basic', tar_type=None)[源代码]#
下载资金账单
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_18&index=7
参数
bill_date – 下载对账单的日期
account_type – 账单的资金来源账户
Basic 基本账户
Operation 运营账户
Fees 手续费账户
tar_type – 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单。
不传则默认为数据流形式。
short_url(long_url)[源代码]#
长链接转短链接
参数
long_url – 长链接
返回
返回的结果数据
公众号网页 JS 支付接口#
class wechatpy.pay.api.WeChatJSAPI(client=None)[源代码]#
get_jsapi_params(prepay_id, timestamp=None, nonce_str=None, jssdk=False)[源代码]#
获取 JSAPI 参数
参数
prepay_id – 统一下单接口返回的 prepay_id 参数值
timestamp – 可选,时间戳,默认为当前时间戳
nonce_str – 可选,随机字符串,默认自动生成
jssdk – 前端调用方式,默认使用 WeixinJSBridge
使用 jssdk 调起支付的话,timestamp 的 s 为小写
使用 WeixinJSBridge 调起支付的话,timeStamp 的 S 为大写
返回
参数
get_jsapi_signature(prepay_id, timestamp=None, nonce_str=None)[源代码]#
获取 JSAPI 签名
参数
prepay_id – 统一下单接口返回的 prepay_id 参数值
timestamp – 可选,时间戳,默认为当前时间戳
nonce_str – 可选,随机字符串,默认自动生成
返回
签名
代扣接口#
class wechatpy.pay.api.WeChatWithhold(client=None)[源代码]#
apply_cancel_signing(contract_id=None, plan_id=None, contract_code=None, contract_termination_remark=None, version='1.0')[源代码]#
申请解约
https://pay.weixin.qq.com/wiki/doc/api/pap.php?chapter=18_4&index=6
参数
contract_id – 合同ID
plan_id – 模板ID
contract_code – 合同号
contract_termination_remark – 解约原因
version – 版本号
返回
apply_deduct(body, total_fee, contract_id, notify_url, out_trade_no=None, detail=None, attach=None, fee_type='CNY', goods_tag=None, clientip=None, deviceid=None, mobile=None, email=None, qq=None, openid=None, creid=None, outerid=None)[源代码]#
申请扣款 api
参数
body – 商品描述 商品或支付单简要描述
out_trade_no – 可选 商户订单号 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
total_fee – 总金额 订单总金额,单位为分,只能为整数,详见支付金额
contract_id – 委托代扣协议id 签约成功后,微信返回的委托代扣协议id
notify_url – 回调通知url 接受扣款结果异步回调通知的url
detail – 可选 商品详情 商品名称明细列表
attach – 可选 附加数据 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
fee_type – 可选 货币类型 符合ISO 4217标准的三位字母代码,默认人民币:CNY
goods_tag – 可选 商品标记 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠
clientip – 可选 客户端 IP 点分IP格式(客户端IP)
deviceid – 可选 设备ID android填imei的一次md5; ios填idfa的一次md5
mobile – 可选 手机号 用户手机号
email – 可选 邮箱地址 用户邮箱地址
qq – 可选 QQ号 用户QQ号
openid – 可选 微信open ID 用户微信open ID
creid – 可选 身份证号 用户身份证号
outerid – 可选 商户侧用户标识 用户在商户侧的标识
返回
返回的结果信息
apply_signing(plan_id, contract_code, contract_display_account, notify_url, version='1.0', clientip=None, deviceid=None, mobile=None, email=None, qq=None, request_serial=None, openid=None, creid=None, outerid=None)[源代码]#
申请签约 api
https://pay.weixin.qq.com/wiki/doc/api/pap.php?chapter=18_1&index=1
参数
plan_id – 模板id 协议模板id,设置路径见开发步骤。
contract_code – 签约协议号 商户侧的签约协议号,由商户生成
contract_display_account – 用户账户展示名称 签约用户的名称,用于页面展示,页面样例可见案例与规范
notify_url – 回调通知url 用于接收签约成功消息的回调通知地址,以http或https开头。
version – 版本号 固定值1.0
request_serial – 可选 请求序列号 商户请求签约时的序列号,商户侧须唯一。序列号主要用于排序,不作为查询条件
clientip – 可选 客户端 IP 点分IP格式(客户端IP)
deviceid – 可选 设备ID android填imei的一次md5; ios填idfa的一次md5
mobile – 可选 手机号 用户手机号
email – 可选 邮箱地址 用户邮箱地址
qq – 可选 QQ号 用户QQ号
openid – 可选 微信open ID 用户微信open ID
creid – 可选 身份证号 用户身份证号
outerid – 可选 商户侧用户标识 用户在商户侧的标识
返回
返回的结果数据字典
query_order(transaction_id=None, out_trade_no=None)[源代码]#
查询订单 api
参数
transaction_id – 二选一 微信订单号 微信的订单号,优先使用
out_trade_no – 二选一 商户订单号 商户系统内部的订单号,当没提供transaction_id时需要传这个。
返回
返回的结果信息
query_signing(contract_id=None, plan_id=None, contract_code=None, openid=None, version='1.0')[源代码]#
查询签约关系 api
参数
contract_id – 可选 委托代扣协议id 委托代扣签约成功后由微信返回的委托代扣协议id,选择contract_id查询,则此参数必填
plan_id – 可选 模板id 商户在微信商户平台配置的代扣模板id,选择plan_id+contract_code查询,则此参数必填
contract_code – 可选 签约协议号 商户请求签约时传入的签约协议号,商户侧须唯一。选择plan_id+contract_code查询,则此参数必填
openid – 可选 openid 用户标识,必须保证与传入appid对应
version – 版本号 固定值1.0
返回
返回的结果信息
Next
微信 OAuth 网页授权接入
Previous
小程序接口
Copyright © 2014 - 2017, Messense Lv
Made with Sphinx and @pradyunsg's
Furo
目录
微信支付接口
WeChatPay
现金红包接口
企业付款接口
代金券接口
订单接口
退款接口
工具类接口
公众号网页 JS 支付接口
代扣接口
微信香港钱包(WeChat Pay HK)开通教程 - 知乎
微信香港钱包(WeChat Pay HK)开通教程 - 知乎首发于中信银行国际切换模式写文章登录/注册微信香港钱包(WeChat Pay HK)开通教程小狐狸与小兔子点击上方蓝字关注我,奇怪的知识又增加了 微信香港钱包WeChat Pay HK微信香港钱包,是微信的姊妹产品,主要面向海外,名为WeChat,我们可以将其绑定海外账户,开通香港地区钱包,并在内地进行消费如何开通找到微信支付,对话框输入"香港钱包",点击链接即可,开通需要有境外银行账户或者Visa等信用卡这里一共有6家银行的境外卡支持绑定,分别是以下几个银行我这里正好有中信银行,点击进去绑定登记页面,输入卡号进行登记,即可绑定成功,后续可以自由切换内地与香港钱包内地消费开通成功可以进入优惠专区领取20元通用电子现金券,实测可以内地消费,一定记得领取哦一天上班早上去全家试了试,买了个早餐然后去7-11买了个自嗨锅,把20元消费券用了WeChat 利是 与此同时还可以给好友发送WeChat 利是,其实就是我们的微信红包,发送方式一模一样,区别在于一个是币种,以及名称但是领取人必须开通香港钱包,否则领取不了,开通成功后可以去给朋友吊胃口了,对方只能看不能领取,如图,开心交易额度未认证用户,全年的交易限额为25000港币,同时不占用个人外汇额度,这一点挺好的,也就是说,你可以每年通过Wechat Pay HK在内地最高消费25000港币的额度,不占用中国公民每年5万美金的外汇额度,同时通过认证可以提升至100000港币额度,认证需要上传护照或者香港身份证内地商家WeChat Pay HK支持内地近百万家商家,在使用方式上与内地版一模一样,支持扫码和二维码付款,支付时会自动折算汇率,从港币账户扣款,非常方便,常见的生活使用场景基本覆盖,比如打车,火车票,火锅,餐厅,奶茶,旅游,住宿,商超等,还有更多的商家接入中总结如果有境外账户的,建议可以开通WeChat Pay HK,用来当做内地消费的途径,别再说钱都在国外,只能看不能用了,静下来,想一想,用外面投资赚来的钱,支持内地自家公司业绩,业绩体现在财报,财报反映到股市,嗯嗯,想想还挺美,讲到这,说个小故事,当初大家一致认为奈雪的茶(02150) 上市,冲刺奶茶第一股,可以承包自己一年的奶茶,结果没想到是一杯毒茶,上市即破发,自己一年的奶茶没有了,还提前买了单,落子无悔,打新有风险,申购需谨慎扫描二维码获取更多奇怪的知识点个在看,你最好看发布于 2021-08-30 21:38微信支付香港香港版微信支付(WeChat Pay HK)赞同 1414 条评论分享喜欢收藏申请转载文章被以下专栏收录中信银行国际中信银行国际,包含中信香港卡等一系
WeChat Pay Platform
WeChat Pay Platform
Menu
关闭
Wechat pay
User login
Home
Application Guidelines
Support
Service Providers
Regulations
Instruction Videos
FAQS
News & Updates
WeChat Pay
Beyond Payment
Leading Mobile
Payment Platform
Helping
Businesses Grow
[March 12]Please be aware that it is Qingming Festival from April 5
More
Products
Quick Pay
Users present their WeChat Pay payment code to the merchant.
Merchants scan the code to take the payment.
QR Code Payment
Users open WeChat to scan the code, confirm the amount, and make
the payment after passing the security checks.
Mini Program Payment
Users pay for goods or services in Mini Programs created inside
WeChat.
Official Account Payment
Users can pay for goods and services inside the merchant's
Official Account.
In-App Payment
Users make purchases in merchant apps using WeChat Pay.
Web Payment
Users use WeChat's "Scan" feature to scan a payment code on a
web page to make payment.
Customs Clearance
WeChat Pay users present their WeChat Pay payment code to the
merchant. Merchants scan the code to take the payment.
Smart Cases
Shopping
Restaurants
Scenic Spots
Transportation
Medical Care
Learn More
Moment
Ads
Moments Ads is a platform for placing targeted advertising in the
Moments section of the WeChat app. By using WeChat's powerful commercial analytics,
merchants can promote their brands and increase consumer conversion rates by targeting
people based on their interests and other traits.
Mini Program
A Mini Program is a program that is integrated into the WeChat
app. With WeChat's powerful new development tools, it can be developed in a shorter time and
at a lower cost than traditional applications. Most importantly, Mini Programs take
advantage of WeChat’s existing massive user base. Users can easily access Mini Programs via
WeChat and so enjoy a superior user experience.
Official Account
Official Accounts are mini-websites within WeChat that merchants
can use to promote their services to followers. They can offer powerful follower management
capabilities, helping merchants understand and reach fans and customers. Merchants can also
boost business by offering promotions or distributing coupons through their Official
Account.
Cards & Offers
Merchants can offer customers loyalty cards and coupons which are
accessed and managed within the WeChat app. Loyalty cards allow members to accumulate points
for purchases, while coupons can be customized and distributed to maximize sales and
revenue.
Contact Us
Customer Service Tel
+86 571 95017
9:00-18:00 Monday-Friday GMT+8
Business Development
wxpayglobal@tencent.com
Developer Support
wepayTS@tencent.com
Wechat Pay Global
About Tenpay
Powered By Tencent & Tenpay Copyright© 2005-2019 Tenpay All
Rights Reserved.
WeChat Pay HK - 創新�方便的�動支付工具|隨時隨心享�支付
at Pay HK - 創新å�Šæ–¹ä¾¿çš„æµ�動支付工具|隨時隨心享å�—支付下載Appè�¯çµ¡æˆ‘們 常見å•�é¡Œ 申請æˆ�為商戶 ä¸æ–‡ ENæ‹�WeChat港幣錢包返內地想é»�Payå°±é»�Pay到內地Pay港幣「Call車ã€�ã€�「é¤�飲ã€�ã€�「娛樂ã€�ã€�「ç¾�團ã€�ã€�「大眾é»�è©•ã€�ã€�「地é�µã€�,通通都得在內地ã€�香港ã€�澳門見到å�³å�¯åœ¨è©²å•†æˆ¶ä»˜æ¬¾æœ€æ–°å‹•æ…‹Â· 到內地就用WeChat Pay HK,一路暢通無阻ï¼�用WeChat Pay HK嘅四大好處ğŸ‘�簡單易用,隨心支付WeChat Pay HK相信簡單就喺最好:無需更新手機應用程å¼�ã€�無需複雜è¨ç½®ï¼Œè¼•é¬†å¢�值或ç¶�定銀行å�¡ï¼Œå�³å�¯å¼€å�¯ä»˜æ¬¾ã€‚è¨æœ‰å¤§å—é«”å�Šè¦–障人士é�©ç”¨è¨è¨ˆï¼Œè®“所有人都å�¯äº«å�—æµ�动支付的便æ�·ã€‚覆蓋線上線下眾多商戶覆蓋香港ã€�內地å�Šæ¾³é–€100è�¬+間商戶,全é�¢è¦†è“‹ç·šä¸Šç·šä¸‹ï¼šåŒ…括網上購物平å�°ã€�大å�‹å•†å ´ã€�化å¦�ã€�ç� 寶ã€�電器ã€�街市ã€�食肆ç‰ã€‚想開心「豪洗ã€�亦無å•�題,連æ�¥éŠ€è¡Œè³¬æˆ¶ã€�信用å�¡ï¼Œå�³å�¯æ”¯æŒ�å�„種é¡�åº¦æ¶ˆè²»ï¼Œæƒ³è²·å°±è²·ã€‚çœ¾å¤šå„ªæƒ ï¼Œæ™‚åˆ»åœ¨ç·šçœ¾å¤šå„ªæƒ æ´»å‹•æ™‚åˆ»åœ¨ç·šï¼Œè®“æ‚¨ç›¡äº«å„ªæƒ ï¼Œæƒ³Payå°±Pay。消費券期間,WeChat Pay HKæ›´æ�¨å‡ºæ›´å¤šè‘—數。è�¯å�Œè¶…é��百間å�ˆä½œå•†æˆ¶å¤§æ´¾å„ªæƒ ,人人å�¯æ‹�çœ¾å¤šå•†æˆ¶å„ªæƒ åˆ¸ï¼Œå¹«æ‚¨å°‡æ¶ˆè²»åˆ¸ç”¨å¾—æ›´æŠµï¼�交易安全,放心付款WeChat Pay HKæ“�有金è��級別的高è¦�æ ¼å®‰å…¨ä¿�障系統,通é��7X24å°�時全方ä½�的智能防è·å±�障, 確ä¿�您的資金å�Šä¿¡æ�¯å®‰å…¨ï¼Œè®“您消費輕鬆無憂。了解WeChat Pay HK嘅å‹�å¤šå„ªæƒ ğŸ��了解WeChat Pay HK大å�—æ¡è¿�的功能ğŸ�‰ä¸€Show付款碼,門店付款話å’�易WeChat Pay HK覆蓋便利店ã€�è¶…ç´šå¸‚å ´ã€�é¤�廳ç‰ï¼Œä»²æœ‰æº�æº�ä¸�çµ•å˜…é©šå–œå„ªæƒ ï¼Œç‚ºä½ æ‰“é€ é«”é©—æ–¹ä¾¿å¯¦æƒ å˜…é«”é©—ã€‚ä¸€Scan收錢QR Codeï¼Œæ¥µé€Ÿä»˜æ¬¾ç„¡è«–ä½ å–ºonline定實體店,å�ªè¦�見到WeChat Pay HK嘅收錢QR Code,打開WeChatæ�ƒæ��就輕鬆俾錢ï¼�安å��家ä¸ï¼Œç¹³è²»è¼•é¬†ï¼Œå“�味生活隨時隨地check水電煤ç‰ã€Œç”Ÿæ´»å¸³å–®ã€�,仲有大把激ç�「飲食ç�©æ¨‚ã€�ç‰ä½ æ�¢ç´¢ï¼� é›»å�利是,最潮最Fun齊齊互動æˆ�ç�Friendæ�¶åˆ©æ˜¯ï¼Œé¬¥å¿«é¬¥å¥½é�‹ï¼�畫圖利是,發æ�˜ä½ 嘅è—�è¡“ç´°èƒ�ï¼�無論個人定一group人,派利是ã€�收利是å¾�æ¤å……滿樂趣ï¼�轉數快é��數收錢,å�³æ™‚å…�è²»å�ªéœ€ä¸€å€‹æ‰‹æ©Ÿè™Ÿç¢¼ï¼Œå¯¦æ™‚到賬,立å�³æ”¶éŒ¢ã€‚跨銀行ã€�跨電å�錢包都輕鬆æ��æ�‚ï¼�網上購物,足ä¸�å‡ºæˆ¶æ»¿è¶³ä½ æ‰€æœ‰é¡˜æœ›ç‚ºä½ æ�œç¾…世界å�„地è±�富嘅產å“�å�Œæœ�務,包括飲食ã€�電器ã€�ç¾�容ã€�æ—…é�Šç‰ï¼Œä»¶ä»¶å„ªè³ªå„ªæƒ ,ç‰ä½ 放心大買特買ï¼�金è��級安全防è·é«”系,ä¿�障账户安全WeChat Pay HK 金è��級安全ä¿�障體系,7X24å°�時ã€�全方ä½�智能ä¿�è·è³¬æˆ¶å®‰å…¨ï¼Œè®“用戶使用更安全ã€�æ”¾å¿ƒæ›´å¤šå„ªæƒ è³‡è¨Šï¼Œå�³å°‡éœ‡æ’¼ä¾†è¥² æ�ƒ 碼 é—œ 注 å…¬ 眾 號 , ç�² å�– 一 手 消 æ�¯äº†è§£æ›´å¤šTencentWeChatè�¯çµ¡æˆ‘們商務å�ˆä½œéƒµç®±ï¼š HKpayment@WeChat.com客æœ�電話:+852-39291666è�¯çµ¡åœ°å�€ï¼šé¦™æ¸¯å°–沙咀廣æ�±é�“15號港å¨�大廈5座37樓用戶æ¢�款支付æœ�å‹™å�”è°ç§�隱政ç–社交媒體請使用WeChatæ�ƒæ��以下QR Code關注WeChat官方賬號 Copyright © 1998 - 2021 WeChat Pay Hong Kong Limited. All Rights Reserved常見å•�題請使用WeChat或相機æ�ƒæ��以下QR Code下載WeChat è�¯çµ¡æˆ‘們商務å�ˆä½œéƒµç®±HKpayment@WeChat.com客æœ�電話+852-39291开发指引 - H5支付 | 微信支付商户文档中心
开发指引 - H5支付 | 微信支付商户文档中心
首页 接入指引 产品中心 解决方案 文档中心 接入微信支付 文档中心 首页 接入指引 产品中心 解决方案 文档中心 接入微信支付 产品文档API字典通用规则SDK&开发工具更新日志 产品文档 搜索 产品文档 支付产品 JSAPI支付 产品介绍接入前准备开发指引API列表APP支付 产品介绍接入前准备开发指引API列表H5支付 产品介绍接入前准备开发指引API列表Native支付 产品介绍接入前准备开发指引API列表小程序支付 产品介绍接入前准备开发指引API列表付款码支付(V2) (opens new window)合单支付 产品介绍接入前准备 App支付场景JSAPI支付场景Native支付场景小程序支付场景开发指引 APP支付场景H5支付场景JSAPI支付场景Native支付场景小程序支付场景API列表刷脸支付 (opens new window)资金/交易账单 产品介绍关键概念账单下载操作指引开发指引格式说明 交易账单文件格式说明资金账单文件格式说明API列表退款 产品介绍API列表运营工具 商家转账到零钱 产品介绍接入准备操作指南 开启转账发起方式充值管理转账场景设置接口安全IP设置转账验密人设置免密额度设置转账额度发起转账查询转账记录和账单关闭转账发起方式开发关键概念开发指引开发工具和库开发安全最佳实践API列表常见问题微信支付分 产品介绍接入前准备设计规范计费明细回传规范测试号配置指引开发指引 免确认模式需确认模式API列表微信支付分停车服务 产品介绍接入前准备开发指引API列表代金券 产品介绍接入前准备开发指引API列表商家券 产品介绍接入前准备开发指引API列表委托营销 产品介绍接入前准备开发指引API列表支付有礼 产品介绍接入前准备开发指引API列表小程序发券插件 产品介绍接入前准备API列表H5发券 产品介绍接入前准备API列表现金红包(V2) (opens new window)智慧商圈 产品介绍接入前准备开发指引API列表支付即服务 产品介绍接入前准备开发指引服务人员称谓申请指引免开发版本操作指引个人微信服务人员注册API列表电子发票 产品介绍接入前准备开发指引(区块链电子发票)开发指引(自建/第三方模式)API列表扩展工具 分账 产品介绍接入前准备开发指引API列表清关报关(V2) (opens new window)消费者投诉2.0 产品介绍接入前准备开发指引API列表安全工具 平台证书 平台证书简介平台证书更换操作指引API列表常见问题API字典 支付产品 JSAPI支付 JSAPI下单JSAPI调起支付支付通知微信支付订单号查询订单商户订单号查询订单关闭订单退款申请查询单笔退款(通过商户退款单号)退款结果通知申请交易账单申请资金账单下载账单APP支付 App下单App调起支付支付通知微信支付订单号查询订单商户订单号查询订单关闭订单退款申请查询单笔退款(通过商户退款单号)退款结果通知申请交易账单申请资金账单下载账单H5支付 H5下单H5调起支付支付通知微信支付订单号查询订单商户订单号查询订单关闭订单退款申请查询单笔退款(通过商户退款单号)退款结果通知申请交易账单申请资金账单下载账单Native支付 native下单native调起支付支付通知微信支付订单号查询订单商户订单号查询订单关闭订单退款申请查询单笔退款(通过商户退款单号)退款结果通知申请交易账单申请资金账单下载账单小程序支付 小程序下单小程序调起支付支付通知微信支付订单号查询订单商户订单号查询订单关闭订单退款申请查询单笔退款(通过商户退款单号)退款结果通知申请交易账单申请资金账单下载账单合单支付 合单下单-JSAPIJSAPI调起支付合单下单-APPAPP调起支付合单下单-H5H5调起支付合单下单-NATIVENative调起支付合单下单-小程序小程序调起支付合单查询合单关单支付通知退款申请查询单笔退款(通过商户退款单号)退款结果通知申请交易账单申请资金账单下载账单资金/交易账单 申请交易账单申请资金账单下载账单退款 退款申请查询单笔退款(通过商户退款单号)发起异常退款退款结果通知运营工具 商家转账到零钱 发起商家转账查询转账批次单 通过微信批次单号查询批次单通过商家批次单号查询批次单查询转账明细单 通过微信明细单号查询明细单通过商家明细单号查询明细单申请转账电子回单 转账账单电子回单申请受理接口查询转账账单电子回单接口申请转账明细电子回单 受理转账明细电子回单查询转账明细电子回单受理结果下载电子回单微信支付分 服务订单 创建支付分订单查询支付分订单取消支付分订单修改订单金额完结支付分订单商户发起催收扣款同步服务订单信息支付成功回调通知退款申请查询单笔退款(通过商户退款单号)退款结果通知APP调起支付分-订单详情JSAPI调起支付分-订单详情小程序调起支付分-订单详情微信支付分(免确认预授权模式) 商户预授权商户查询与用户的授权记录商户解除用户授权关系商户查询与用户授权记录(openid)商户解除用户授权关系(openid)APP调起支付分-授权服务JSAPI调起支付分-授权服务小程序调起支付分-授权服务开启/解除授权服务回调通知API微信支付分(需确认模式) APP调起支付分-确认订单JSAPI调起支付分-确认订单小程序调起支付分-确认订单确认订单回调通知微信支付分停车 停车入场 创建停车入场停车入场状态变更通知服务 查询车牌服务开通信息小程序调起微信支付分停车服务开通页H5调起微信支付分停车服务开通页APP调起微信支付分停车服务开通页扣费受理 查询订单扣费受理订单支付结果通知还款 微信垫资还款退款 退款申请退款结果通知查询单笔退款(通过商户退款单号)代金券 批次 创建代金券批次激活代金券批次暂停代金券批次重启代金券批次条件查询批次列表查询批次详情查询代金券可用商户查询代金券可用单品下载批次退款明细下载批次核销明细代金券 根据商户号查用户的券发放指定批次的代金券查询代金券详情消息通知地址 查询代金券消息通知地址设置代金券消息通知地址核销事件回调通知图片上传(营销专用)商家券 创建商家券查询商家券批次详情核销用户的券根据过滤条件查询用户的券查询用户券详情上传预存code设置商家券事件通知地址获取商家券事件通知地址关联订单信息取消关联订单信息修改批次预算修改商家券基本信息申请退券使券失效领券事件回调通知图片上传(营销专用)委托营销 合作关系 建立合作关系查询合作关系列表支付有礼 支付有礼活动 创建全场满额送活动获取活动详情接口获取活动发券商户号获取活动指定商品列表终止活动新增活动发券商户号获取支付有礼活动列表删除活动发券商户号图片上传(营销专用)小程序发券插件 小程序发券插件H5发券 H5发券API智慧商圈 商圈会员积分服务授权结果通知商圈会员场内支付结果通知商圈会员积分同步商圈会员场内退款结果通知商圈会员积分服务授权查询商圈会员待积分状态查询商圈会员停车状态同步支付即服务 服务人员查询服务人员注册服务人员更新服务人员分配电子发票 公共API 创建电子发票卡券模板配置开发选项查询商户配置的开发选项查询电子发票获取抬头填写链接用户发票抬头填写完成通知获取用户填写的抬头发票卡券作废通知区块链电子发票API 获取商户开票基础信息获取商户可开具的商品和服务税收分类编码对照表开具电子发票冲红电子发票获取发票下载信息下载发票文件发票开具成功通知发票冲红成功通知自建/第三方模式API 上传电子发票文件将电子发票插入微信用户卡包发票插入用户卡包成功通知扩展工具 分账 请求分账查询分账结果请求分账回退查询分账回退结果解冻剩余资金查询剩余待分金额添加分账接收方删除分账接收方分账动账通知申请分账账单下载账单消费者投诉2.0 主动查询投诉信息 查询投诉单列表查询投诉单详情查询投诉协商历史实时获取投诉信息 投诉通知回调创建投诉通知回调地址查询投诉通知回调地址更新投诉通知回调地址删除投诉通知回调地址商户处理用户投诉 回复用户反馈处理完成更新退款审批结果商户反馈图片 图片上传接口图片请求接口安全工具 平台证书 下载平台证书通用规则 概述接口规则说明 基本规则HTTP状态码接入规范 微信支付二维码规范商户收银台大字号规范证书/密钥/签名介绍 私钥和证书API v3密钥签名名词表 接入模式支付产品业务平台业务系统参数说明开发准备 参数申请配置API key下载并配置商户证书开发指南 如何生成请求签名如何验证签名如何解密证书和回调报文如何加解密敏感信息常见问题 证书相关问题签名相关问题其他问题API安全 API安全机制简介关键概念平台证书简介平台证书更换操作指引密钥泄漏修复指引最佳安全实践最佳实践 跨城容灾升级指引支付回调和查单实现指引专线商户Notify升级指引回调通知注意事项iOS微信OpenSDK版本升级指引国家商用密码接入指南 国家商用密码简介获取国家商用密码证书和密钥APIv3接口使用国家商用密码指引对照表 开户银行全称对照表开户银行对照表银行类型对照表省市区编号对照表优惠费率活动对照表跨境电商二级商户费率对照表商户行业编码特殊行业ID对照表SDK&开发工具 SDK快速开始 使用 Java SDK使用 PHP SDK使用 Go SDKPostman调试工具平台证书下载工具验签工具网络云排查 产品介绍网络问题排查指南常见问题安全医生 产品介绍诊断链接绑定指引安全联系人设置指引更新日志 总览支付产品 JSAPI支付App支付H5支付native支付小程序支付合单支付退款运营工具 商家转账到零钱微信支付分微信支付分停车代金券商家券支付有礼小程序发券插件H5发券智慧商圈扩展工具 分账消费者投诉2.0安全工具 平台证书 支付产品 JSAPI支付 产品介绍接入前准备开发指引API列表APP支付 产品介绍接入前准备开发指引API列表H5支付 产品介绍接入前准备开发指引API列表Native支付 产品介绍接入前准备开发指引API列表小程序支付 产品介绍接入前准备开发指引API列表付款码支付(V2) (opens new window)合单支付 产品介绍接入前准备 App支付场景JSAPI支付场景Native支付场景小程序支付场景开发指引 APP支付场景H5支付场景JSAPI支付场景Native支付场景小程序支付场景API列表刷脸支付 (opens new window)资金/交易账单 产品介绍关键概念账单下载操作指引开发指引格式说明 交易账单文件格式说明资金账单文件格式说明API列表退款 产品介绍API列表运营工具 商家转账到零钱 产品介绍接入准备操作指南 开启转账发起方式充值管理转账场景设置接口安全IP设置转账验密人设置免密额度设置转账额度发起转账查询转账记录和账单关闭转账发起方式开发关键概念开发指引开发工具和库开发安全最佳实践API列表常见问题微信支付分 产品介绍接入前准备设计规范计费明细回传规范测试号配置指引开发指引 免确认模式需确认模式API列表微信支付分停车服务 产品介绍接入前准备开发指引API列表代金券 产品介绍接入前准备开发指引API列表商家券 产品介绍接入前准备开发指引API列表委托营销 产品介绍接入前准备开发指引API列表支付有礼 产品介绍接入前准备开发指引API列表小程序发券插件 产品介绍接入前准备API列表H5发券 产品介绍接入前准备API列表现金红包(V2) (opens new window)智慧商圈 产品介绍接入前准备开发指引API列表支付即服务 产品介绍接入前准备开发指引服务人员称谓申请指引免开发版本操作指引个人微信服务人员注册API列表电子发票 产品介绍接入前准备开发指引(区块链电子发票)开发指引(自建/第三方模式)API列表扩展工具 分账 产品介绍接入前准备开发指引API列表清关报关(V2) (opens new window)消费者投诉2.0 产品介绍接入前准备开发指引API列表安全工具 平台证书 平台证书简介平台证书更换操作指引API列表常见问题 开发指引 更新时间:2023.10.19 # 1. 接口规则 为了在保证支付安全的前提下,带给商户简单、一致且易用的开发体验,我们推出了全新的微信支付APIv3接口。该版本API的具体规则请参考APIv3接口规则。 # 2. 开发准备 # 2.1. 搭建和配置开发环境 为了帮助开发者调用开放接口,我们提供了JAVA、PHP、GO三种语言版本的开发库,封装了签名生成、签名验证、敏感信息加/解密、媒体文件上传 等基础功能(更多语言版本的开发库将在近期陆续提供)。 测试步骤: 1、根据自身开发语言,选择对应的开发库并构建项目,具体配置请参考下面链接的详细说明: wechatpay-java (opens new window)(推荐)、wechatpay-apache-httpclient (opens new window),适用于Java开发者。
注:当前开发指引接口JAVA示例代码采用wechatpay-apache-httpclient版本。 wechatpay-php (opens new window)(推荐)、wechatpay-guzzle-middleware (opens new window),适用于PHP开发者。
注:当前开发指引接口PHP示例代码采用wechatpay-guzzle-middleware版本。 wechatpay-go (opens new window),适用于Go开发者。 更多资源可前往微信支付开发者社区 (opens new window)搜索查看。 2、创建加载商户私钥、加载平台证书、初始化httpClient的通用方法。 示例代码 3、基于接口的示例代码,替换请求参数后可发起测试。 说明: 上面的开发库为微信支付官方开发库,其它没有审核或者控制下的第三方工具和库,微信支付不保证它们的安全性和可靠性。通过包管理工具引入SDK后,可根据下面每个接口的示例代码替换相关参数后进行快速测试。 开发者如果想详细了解签名生成、签名验证、敏感信息加/解密、媒体文件上传等常用方法的具体代码实现,可阅读下面的详细说明: 签名生成 签名验证 敏感信息加解密 merchantPrivateKey(私钥) wechatpayCertificates(平台证书) APIV3Key(V3 key) 如想更详细的了解我们的接口规则,可查看我们的接口规则指引文档。 # 2.2. 业务开发配置 # 2.2.1. 开通H5支付权限 前往微信支付商户平台 (opens new window)—>产品中心—>H5支付—>申请开通。 # 2.2.2.服务器配置要求 登录【微信支付商户平台 (opens new window)—>产品中心—>开发配置—>H5支付】,设置后一般10分钟内生效。 注意 域名必须通过ICP备案 域名填写格式不包含"HTTP://"或"HTTPS://" # 3. 快速接入 # 3.1. 业务流程图 # 安全标准规范流程图 重点步骤说明: 步骤1 用户向商户系统后台请求下单,商户后台必须做好安全校验。 当跨域请求不是简单请求 (opens new window)时,浏览器会发起Options预检请求 (opens new window),此时商户后台需要支持Options请求且校验Origin头部,如果不在允许的白名单列表内,则返回403且不返回"Access-Control-Allow-*"相关头部。 针对GET/POST的跨域下单请求,商户后台需要校验Origin头部是否合法且用户Cookie是否完备(若用户未登陆则先引导登陆商户站点),否则返回403且不返回"Access-Control-Allow-*"相关头部。 步骤2 商户可通过H5下单API创建支付订单。 步骤3 用户通过微信外部的浏览器调起微信支付中间页,进行发起支付请求。 步骤5 用户支付成功后,商户可接收到微信支付支付结果通知支付通知API。 步骤8 商户在没有接收到微信支付结果通知的情况下需要主动调用商户订单号查询订单查询支付结果。 注意 商户需按照安全规范进行接入,若因未遵循规范接入而出现安全问题,财付通将根据《微信支付服务协议》 (opens new window)条款处理。 以上图示,仅为示例,只供参考。请商户自行确认是否实现了跨域访问白名单限制和用户登录态校验。 # 3.2. API接入(含示例代码) 文档展示了如何使用微信支付服务端 SDK 快速接入支付有礼,完成与微信支付对接的部分。 注意 文档中的代码示例是用来阐述 API 基本使用方法,代码中的示例参数需替换成商户自己账号及请求参数才能跑通。 以下接入步骤仅提供参考,请商户结合自身业务需求进行评估、修改。 # 3.2.1. 【服务端】H5下单 步骤说明: 用户使用微信外部的浏览器访问商户H5页面,当用户选择相关商品购买时,商户系统先调用该接口在微信支付服务后台生成预支付交易单。 示例代码 重要入参说明: out_trade_no: 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。 description: 商品描述。 notify_url: 支付回调通知URL,该地址必须为直接可访问的URL,不允许携带查询串。 total: 订单总金额,单位为分。 scene_info: 支付场景描述。 更多参数、响应详情及错误码请参见H5下单接口文档。 # 3.2.2. 【客户端】微信外部的浏览器拉起微信支付中间页 步骤说明: 通过H5下单API成功获取H5下单返回的支付中间页(h5_url)后,用户需要通过微信外部的浏览器调起微信支付收银台 注意 h5_url为拉起微信支付收银台的中间页面,可通过访问该URL来拉起微信客户端,完成支付,h5_url的有效期为5分钟。 微信支付收银台中间页会进行H5权限的校验,安全性检查。 正常流程用户支付完成后会返回至发起支付的页面,如需返回至指定页面,则可以在h5_url后拼接上"redirect_url"参数,来指定回调页面。您希望用户支付完成后跳转至https://www.wechatpay.com.cn,则拼接后的地址为h5_url= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn。 需对redirect_url进行urlencode处理。 由于设置redirect_url后,回跳指定页面的操作可能发生在:
微信支付中间页调起微信收银台后超过5秒。 用户点击“取消支付”或支付完成后点击“完成”按钮。因此无法保证页面回跳时,支付流程已结束,所以商户设置的redirect_url地址不能自动执行查单操作,应让用户去点击按钮触发查单操作,回跳页面展示效果可参考下图。 # 3.2.3. 【服务端】接收支付结果通知 步骤说明: 当用户完成支付,微信会把相关支付结果将通过异步回调的方式通知商户,商户需要接收处理,并按文档规范返回应答。 注意 支付结果通知是以POST 方法访问商户设置的通知URL,通知的数据以JSON 格式通过请求主体(BODY)传输。通知的数据包括了加密的支付结果详情。 加密不能保证通知请求来自微信。微信会对发送给商户的通知进行签名,并将签名值放在通知的HTTP头"Wechatpay-Signature"。商户应当验证签名,以确认请求来自微信,而不是其他的第三方。签名验证的算法请参考 《微信支付API v3签名验证》。 支付通知HTTP应答码为200或204才会当作正常接收,当回调处理异常时,应答的HTTP状态码应为500,或者4xx。 商户成功接收到回调通知后应返回成功的HTTP应答码为200或204。 同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。 推荐的做法是,当商户系统收到通知进行处理时,先检查对应业务数据的状态,并判断该通知是否已经处理。如果未处理,则再进行处理;如果已处理,则直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。 对后台通知交互时,如果微信收到商户的应答不符合规范或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。(通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m)。 特别提醒: 商户系统对于开启结果通知的内容一定要做签名验证,并校验通知的信息是否与商户侧的信息一致,防止数据泄露导致出现“假通知”,造成资金损失。 更多参数、响应详情及错误码请参见支付结果通知接口文档。 # 3.2.4. 【服务端】查询订单 步骤说明: 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知时,商户可通过[查询订单接口]((/merchant-articles/apis/h5-payment/query-by-wx-trade-no.md)核实订单支付状态。 注意 查询订单可通过微信支付订单号和商户订单号两种方式查询,两种查询方式返回结果相同。 需要调用查询接口的情况: 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知。 调用支付接口后,返回系统错误或未知交易状态情况。 调用付款码支付API,返回USERPAYING的状态。 调用关单或撤销接口API之前,需确认支付状态。 示例代码 更多参数、响应详情及错误码请参见 微信支付订单号查询订单 / 商户订单号查询订单 接口文档。 # 3.2.5. 【服务端】关闭订单 步骤说明: 当商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。 注意 关单没有时间限制,建议在订单生成后间隔几分钟(最短5分钟)再调用关单接口,避免出现订单状态同步不及时导致关单失败。 已支付成功的订单不能关闭。 示例代码 更多参数、响应详情及错误码请参见 关闭订单接口文档。 # 3.2.6. 【服务端】申请交易账单 步骤说明: 微信支付按天提供交易账单文件,商户可以通过该接口获取账单文件的下载地址。 示例代码 更多参数、响应详情及错误码请参见 申请交易账单接口文档。 # 3.2.7. 【服务端】下载账单 步骤说明: 通过申请交易账单接口获取到账单下载地址(download_url)后,再通过该接口获取到对应的账单文件,文件内包含交易相关的金额、时间、营销等信息,供商户核对订单、退款、银行到账等情况。 注意 账单文件的下载地址的有效时间为30s。 强烈建议商户将实际账单文件的哈希值和之前从接口获取到的哈希值进行比对,以确认数据的完整性。 该接口响应的信息请求头中不包含微信接口响应的签名值,因此需要跳过验签的流程。 微信在次日9点启动生成前一天的对账单,建议商户10点后再获取。 示例代码 更多参数、响应详情及错误码请参见 下载账单接口文档。 # 4. 常见问题 # Q:调起H5支付报"商家参数格式有误,请联系商家解决" A:请按以下几点进行排查: 当前调起H5支付的referer为空导致,一般是因为直接访问页面调起H5支付,请按正常流程进行页面跳转后发起支付,或自行抓包确认referer值是否为空 如果是App里调起H5支付,需要在webview中手动设置referer,如(Map extraHeaders = new HashMap();extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 https://pay.wechatpay.cn ) # Q:J2. 如果是App里调起H5支付,需要在webview中手动设置referer,如(Map extraHeaders = new HashMap();extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 https://pay.wechatpay.cn ) A:请按以下几点进行排查: 当前调起H5支付的域名(微信侧从referer中获取)与申请H5支付时提交的授权域名不一致,如需添加或修改授权域名,请登录商户号对应的【商户平台 -> 产品中心 -> 开发配置】自行配置。 如果设置了回跳地址redirect_url,请确认设置的回跳地址的域名与申请H5支付时提交的授权域名是否一致。 # Q:调起H5支付报"支付请求已失效,请重新发起支付" A:调起H5支付报"支付请求已失效,请重新发起支付"。 # Q:调起H5支付报" 请在微信外打开订单,进行支付" A:H5支付不能直接在微信客户端内调起,请在外部浏览器调起。 # Q:调起H5支付报" 签名验证失败"或“系统繁忙,请稍后再试” A:请按以下几点进行排查: 请确认同一个H5_URL只被一个微信号调起,如果不同微信号调起请重新下单生成新的H5_URL。 如H5_URL有添加redirect_url,请确认参数拼接格式是否有误,是否有对redirect_url的值做urlencode,可参考以下例子格式: https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn # Q:IOS在使用某些浏览器完成H5支付后会回到safari浏览器 A:IOS在使用某些浏览器完成H5支付后会回到safari浏览器。 文档是否有帮助 是
否
服务商文档
H5支付产品介绍
更多支持 开发者社区 微信开放平台 微信公众平台 腾讯客服 文档是否有帮助 是
否
更多技术问题 技术咨询 1. 接口规则2. 开发准备2.1. 搭建和配置开发环境2.2. 业务开发配置3. 快速接入3.1. 业务流程图安全标准规范流程图3.2. API接入(含示例代码)4. 常见问题Q:调起H5支付报"商家参数格式有误,请联系商家解决"Q:J2. 如果是App里调起H5支付,需要在webview中手动设置referer,如(Map extraHeaders = new HashMap();extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 https://pay.wechatpay.cn )Q:调起H5支付报"支付请求已失效,请重新发起支付"Q:调起H5支付报" 请在微信外打开订单,进行支付"Q:调起H5支付报" 签名验证失败"或“系统繁忙,请稍后再试”Q:IOS在使用某些浏览器完成H5支付后会回到safari浏览器 反馈 咨询 目录 Powered By Tencent & Tenpay Copyright 2005-2023 Tenpay All Rights Reserved. Powered By Tencent & TenpayCopyright 2005-2023 Tenpay All Rights Reserved. 关于我们 关于微信支付 平台使用协议 支付服务协议 联系我们 服务支持 开发文档 (服务商) 开发文档 (V2版) 微信开放社区 物料下载 友情链接 微信开放平台 微信公众平台 企业微信 客服帮助 自助服务专区 客服:95017 (工作日 09:00-22:00) Powered By Tencent & Tenpay Copyright 2005-2022 Tenpay All Rights Reserved. Powered By Tencent & TenpayCopyright 2005-2022 Tenpay All Rights Reserved.
WeChat Pay
WeChat Pay
Vendor
Individual
Download WeChat
Apply
FAQ
Hong Kong
Malaysia
香港繁体
WeChat Pay Hong KongDrives Mobile Payment
Connect to every user and createeven greater business value.
Apply now
More
Large Reach
Reach prospective customers by posting on WeChat.
learn more
Robust Marketing
Issue e-coupons and target customers at a lower cost.
learn more
Quick Payments
Publicize products via WeChat Official Accounts to drive
in-app purchases.
learn more
Payment Security
Eligible for Stored Value Facility license (No. SVF0005)
and regulated by the Hong Kong Monetary Authority.
learn more
About WeChat Pay
Vendor
Individual
Security
Learn More
Tencent
WeChat Official Accounts
Social Media
WeChat Global
WeChat Hong Kong
Contact Us
java 接入 微信支付 网页扫码支付(native方式)V3-CSDN博客
>java 接入 微信支付 网页扫码支付(native方式)V3-CSDN博客
java 接入 微信支付 网页扫码支付(native方式)V3
javamayong
已于 2024-03-13 10:17:41 修改
阅读量342
收藏
8
点赞数
7
文章标签:
java
微信
开发语言
于 2024-03-13 10:07:43 首次发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/javamayong/article/details/136670061
版权
1.导入依赖
接入前的准备 参考文档:接入前准备-Native支付 | 微信支付商户平台文档中心 (qq.com)https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_7_1.shtml#top
2.支付所需参数配置
wx:
# 商户号
mch-id:
# appId
appId:
# 商户证书序列号
mc-serial-no:
# API V3密钥
api-v3-key:
# 回调地址
notify-domain:
# 商户证书地址
keyPath: ../ttlive-server/Common/src/main/java/com/common/cert/apiclient_key.pem
certPath: ../ttlive-server/Common/src/main/java/com/common/cert/apiclient_cert.pem
certP12Path: ../ttlive-server/Common/src/main/java/com/common/cert/apiclient_cert.p12
微信配置类
@Configuration
@Data
@Component
public class WxPayConfig {
private static volatile Config config;
/**
* 商户号
*/
public static String merchantId = "1657.....5";
// 商户API私钥路径 本地路径
// public static String privateKeyPath="../ttliveserver/Common/src/main/java/com/common/cert/apiclient_key.pem";
// 服务器上部署测试路径
public static String privateKeyPath = "../root/cert/apiclient_key.pem";
/**
* 商户证书序列号
*/
public static String merchantSerialNumber = "6E225996B0BE..........B043B6B726";
/**
* 商户APIV3密钥
*/
public static String apiV3Key = "31cc22a............bba9a411";;
//SDK 提供的定时更新平台证书
public static synchronized Config getConfig(WxPayConfig wxPayConfig) {
if (config == null) {
config = new RSAAutoCertificateConfig.Builder()
.merchantId(merchantId)
.privateKeyFromPath(privateKeyPath)
.merchantSerialNumber(merchantSerialNumber)
.apiV3Key(apiV3Key)
.build();
}
return config;
}
public static Config getConfig() {
return config;
}
public static void setConfig(Config config) {
WxPayConfig.config = config;
}
}
这里我们设置的是 API v3密钥 提前下载并配置商户证书文件,将文件移入项目中
3.生成微信支付二维码
@Autowired
private WxPayConfig wxPayConfig;
Config config = WxPayConfig.getConfig(wxPayConfig);
NativePayService service = new NativePayService.Builder().config(config).build();
// request.setXxx(val)设置所需参数,具体参数可见Request定义
PrepayRequest request = new PrepayRequest();
Amount amount = new Amount();
amount.setTotal(商品价格);
request.setAmount(amount);
request.setAppid("APPID");
request.setMchid("商户号");
request.setDescription("商品名称");
request.setNotifyUrl("回调地址,需绑定域名,否则需要内网穿透工具");
request.setOutTradeNo("你所生成的订单号");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
// 微信二维码失效时间 4 分钟
Date date = new Date(new Date().getTime() + 4 * 60 * 1000);
String expire = format.format(date);
request.setTimeExpire(expire);
// 调用下单方法,得到应答
PrepayResponse response = service.prepay(request);
// 生成二维码链接,扔给前端,或者自己写二维码代码
String codeUrl = response.getCodeUrl();
4.微信回调
public String paymentSuccessNotify(String body, HttpServletRequest request, HttpServletResponse response) {
//时间戳
String timestamp = request.getHeader("wechatPay-Timestamp");
//随机字符串
String nonce = request.getHeader("wechatPay-Nonce");
//签名
String signature = request.getHeader("wechatPay-Signature");
//签名类型
String sigType = request.getHeader("wechatPay-Signature-Type");
//证书序列号
String wechatPayCertificateSerialNumber = request.getHeader("wechatPay-Serial");
// String ciphertext = request.getHeader("ciphertext");
// String associateData = request.getHeader("associated_data");
// //解密方法
// AesUtil aesUtil = new AesUtil("31cc22a17ada73b81ad85832bba9a411".getBytes(StandardCharsets.UTF_8));
// String info = null;
// try {
// info = aesUtil.decryptToString(associateData.getBytes(StandardCharsets.UTF_8), nonce.getBytes(StandardCharsets.UTF_8), ciphertext);
// } catch (GeneralSecurityException e) {
// throw new RuntimeException(e);
// } catch (IOException e) {
// throw new RuntimeException("解密失败");
// }
// System.out.println(info);
// 构造 RequestParam
RequestParam requestParam = new RequestParam.Builder()
.serialNumber(wechatPayCertificateSerialNumber)
.nonce(nonce)
.signature(signature)
.timestamp(timestamp)
.signType(sigType)
.body(body)
.build();
//获取微信证书,没有的话重新构造一个
Config config = WxPayConfig.getConfig(wxPayConfig);
NotificationParser parser = new NotificationParser((NotificationConfig) config);
// 以支付通知回调为例,验签、解密并转换成 Transaction
Transaction transaction = parser.parse(requestParam, Transaction.class);
Transaction.TradeStateEnum trade_state = transaction.getTradeState();
// 根据transaction的结果进行回调操作
String message = null;
if (trade_state == Transaction.TradeStateEnum.SUCCESS){
message = "200";
}else {
message ="400";
}
// 下面的是业务处理,到这一步,获取到transaction 方法即可
String outTradeNo = transaction.getOutTradeNo();
String transactionId = transaction.getTransactionId();
String poll = outTradeNo+":"+transactionId+"-"+message;
// String poll = JSONObject.toJSONString(transaction);
this.payDao.addOrderNoInfoToQueue(poll);
// 将微信返回的订单号参数信息传到Dao层,进行校验
if (trade_state == Transaction.TradeStateEnum.SUCCESS) {
response.setStatus(200);
JSONObject json = new JSONObject();
json.put("code", "SUCCESS");
return json.toString();
} else {
response.setStatus(400);
JSONObject json = new JSONObject();
json.put("code", "FAIL");
json.put("message", "验签失败");
return json.toString();
}
}
优惠劵
javamayong
关注
关注
7
点赞
踩
8
收藏
觉得还不错?
一键收藏
知道了
0
评论
java 接入 微信支付 网页扫码支付(native方式)V3
接入前的准备参考文档:接入前准备-Native支付 | 微信支付商户平台文档中心 (qq.com)
复制链接
扫一扫
Java SpringMVC实现PC端网页微信扫码支付(完整版)
09-01
主要介绍了Java SpringMVC实现PC端网页微信扫码支付(完整版)的相关资料,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下
微信支付源码 java网页微信支付 java网页Native微信支付源码
12-09
java网页Native微信支付源码,包含工具类,生成支付二维码,支付成功后回调方法。
参与评论
您还未登录,请先
登录
后发表或查看评论
微信支付V3 Java jsApi 扫码支付 Demo
04-01
本人最近做微信支付,以前上传过单个微信jsapi 的java版本的demo
最近抽时间整理出来包括扫码支付和jsapi支付的版本的demo,代码非常的详细,很多容易出错的地方我都注释了出来,报错后台代码和前台代码的demo,前台包括二维码生成demo,另外增加了java版本处理微信支付回调通知的代码demo,整合了最近项目上所有遇见的相关问题和处理办法,如有问题联系我
微信、支付宝二码合一扫码支付实现思路(java)
08-25
主要为大家详细介绍了微信、支付宝二码合一扫码支付实现思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
微信支付微信扫码支付java版
06-09
现在所有的web端网页商城常用的支付方式之一。web网站开发课程,web网站要实现支付的话,必须学习微信扫码支付。内容逻辑清晰,包你一会就会
OpenMP 编程模型
leizhengshenglzs的博客
03-13
471
OpenMP 专为多处理器/核心、共享内存机器设计,底层架构可以是共享内存UMA或NUM
Java 引用变量的比较
qq_42013947的博客
03-13
484
在Java中,当你使用双引号直接创建字符串时,如:String s = "LXHYouth";String s2 = "LXHYouth";使用`==`运算符比较这两个引用时,结果为`true`
然而,当你使用`new`关键字创建字符串对象时,情况就有所不同了:
String s3 = new String("LXHYouth"); // 使用 new 关键字,s3 指向堆中的一个新对象
String s4 = new String("LXHYouth"); // 再次使用 new 关键字,s4 指向另一个
企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
2301_78385600的博客
03-12
756
通供应商门户具备内外协同的能力,为外部供应商集中推送展示与其相关的所有采购业务信息(历史合作、考察整改,绩效评价等),支持供应商信息的自助维护,实时风险自动提。涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stream、ElasticSearch等。前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3。功能模块: 待办消息,招标公告,中标公告,信息发布。
Java基础-异常处理
Sun的个人博客
03-12
978
程序执行中发生的不正常情况称为异常,开发过程中的语法错误和逻辑错误不是异常程序员在代码中捕获发生的异常,自行处理将发生的异常抛出,交给调用者(方法)来处理,最顶级的处理者就是JVM//创建person对象然后调用getName方法try {int n2 = 0;System.out.println("空指针异常");System.out.println("算术异常");//获取这个name。
WPS 云文档保存在本地的地址如何从c盘更改为其他盘?
白雨青
03-13
221
小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,WPS 云文档保存在本地的地址如何从c盘更改为其他盘?小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,WPS 云文档保存在本地的地址如何从c盘更改为其他盘?打开文件夹,点击“此电脑”--双击“WPS网盘”进入,右上角会员头像旁边有“···更多”,然后点“同步与设置”,在弹出的窗口中找到更改位置就行了。WPS 云文档保存在本地的地址如何从c盘更改为其他盘?
线程常用API
weixin_52078143的博客
03-12
240
是接口不能直接用,需要实现类来使用。
Java日志框架Log4j 2详解
AE_BD的博客
03-12
1906
日志是记录系统或应用程序在运行过程中所发生事件或行为的详细信息的文件。它通常包括时间戳、事件类型、事件描述等信息,以便在需要时进行故障排查、性能优化、安全审计等工作。日志可以帮助开发人员和系统管理员诊断应用程序问题,了解系统运行情况,以及存档和监控事件。在java中一般都是使用log4j 2的日志框架根节点,其中可定义appenders节点和loggers节点,属性包含以下内容:status:可以用来指定Log4j 2本身打印日志的级别:用来设置配置文件的动态加载时间,单位是秒,最小是5秒。
CopyOnWriteArrayList介绍和使用
c103363的博客
03-12
763
CopyOnWriteArrayList 是 Java.util.concurrent 包中的一个线程安全的 List 实现类。它通过在修改操作时创建底层数组的副本来实现线程安全,从而保证了并发访问的一致性。它适用于读操作频繁、写操作较少的场景。
MyBatis 之十:MyBatis 框架注解中的动态 SQL
zp8126的专栏
03-16
228
在 SQL 字符串中可以使用 MyBatis 的动态 SQL 元素(如 、、、、 等),但需要将其包裹在。注意:上面代码中两个不同的方法实现,对于外部调用者来说,都是调用方法传入对象,返回字符串的SQL所以使用哪一种方式都可以。修改 IEmpDao 接口中查询的方法,使用注解来引用上面的类中的某一个方法。注解中使用动态SQL ,可以通过使用的 script脚本来实现,(不推荐)上面使用脚本实现动态SQL,效率低容易出错。
PolarDB-X最佳实践系列(五):使用通义千问和存储过程快速生成测试数据
openApsaraDB的博客
03-13
253
以前,一般要写一段程序或者脚本来完成这项工作,但现在是2024年啦!数据库PolarDB-X新人入门一站式页面,快速体验集中分布式一体化新特性!欢迎关注,我们会带给大家更多PolarDB-X的最佳实践!我们在测试数据库性能的过程中,通常需要生成一批测试数据。
渔业安全生产综合管理指挥系统-航迹数据优化方案
iOS逆向与安全
03-16
53
优化方案:基于ElasticSearch分布式集群存储海量航迹数据(北斗、短波、AIS),实现轨迹数据的读写分离。业务数据通过传统DB做,Elastic Search做搜索服务,基于Logstash由SQLServer向Elasticsearch同步数据。
Java学习笔记(14)
最新发布
weixin_48589728的博客
03-16
453
因为它是一个protected修饰的方法,只能被本包中的类和其他包的子类用,肯定不能在本包中(java.lang包)用,所以要用必须重写。因为是静态static的,所以使用方法不用创建对象,使用里面的方法直接 math.方法名 就行。)不获取数据(不要Java 8,java11,java11,只要java)记得u1.clone()出来的是一个object类型,强转成User。Max会返回大的那个对象,不会创建一个新的biginteger。因为一个电脑只能有一个运行环境,创建多个对象是没有实际意义的。
多线程(volatile)
shianla的博客
03-14
755
, 就是如果你连续10000次读取值的时候, 如果发现主内存和工作内存中的值没有任何变化, 那么在第10001次读取值的时候, 编译器就不把主内存的数据同步给工作内存了 (同步也是需要消耗资源的…给变量手动加上 volatile 关键字, 就是告诉编译器, 这个变量是 “易变” 的, 每次使用的时候都要重新读取这个变量的内存内容, 不要随随便便进行优化了。t2 线程进行修改的值, 先修改自己工作内存中的值, 然后把工作内存的值同步到主内存。运行结果, t1 线程感知到 t2 线程中变量的修改。
解析 JavaScript 代码的加密与解密过程
mxd01848的博客
03-14
411
在网络安全领域中,JavaScript代码的加密和解密技术被广泛应用于保护敏感信息、防止代码被恶意篡改或盗用等方面。本文将对一段使用了混淆和加密技术的 JavaScript 代码进行分析,揭示其中的加密与解密过程。
ijpay 微信支付 v3扫码支付
09-01
ijpay 是一款基于 Java 开发的轻量级支付对接框架,在使用中可以方便地实现微信支付、支付宝支付以及其他常见支付方式的接入。 针对微信支付 v3 扫码支付,您可以按照以下步骤进行操作: 1. 首先,您需要在微信...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
javamayong
CSDN认证博客专家
CSDN认证企业博客
码龄4年
暂无认证
2
原创
-
周排名
-
总排名
827
访问
等级
47
积分
17
粉丝
23
获赞
0
评论
17
收藏
私信
关注
热门文章
JAVA项目接入百度文心一言文本对话功能
483
java 接入 微信支付 网页扫码支付(native方式)V3
342
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
JAVA项目接入百度文心一言文本对话功能
2024年2篇
目录
目录
最新文章
JAVA项目接入百度文心一言文本对话功能
2024年2篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
WechatPay-API-v3接口规则_wechatpay private_key-CSDN博客
>WechatPay-API-v3接口规则_wechatpay private_key-CSDN博客
WechatPay-API-v3接口规则
最新推荐文章于 2023-06-07 23:21:23 发布
置顶
韩师学子--小倪
最新推荐文章于 2023-06-07 23:21:23 发布
阅读量6.9k
收藏
9
点赞数
1
分类专栏:
微信支付
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiao__jia__jia/article/details/106871545
版权
微信支付
专栏收录该内容
2 篇文章
1 订阅
订阅专栏
WechatPay-API-v3接口规则
目录
1、官方文档
2、下面是Java 接入过程:
3、敏感信息加解密
4、demo参考
5、回调通知解密算法(AEAD_AES_256_GCM)
1、官方文档
https://wechatpay-api.gitbook.io/wechatpay-api-v3/
2、下面是Java 接入过程:
第一步: 阅读微信支付分给的接口规则 说明: https://wechatpay-api.gitbook.io/wechatpay-api-v3/
第二步: 微信支付API v3要用第三方CA的证书 所以涉及到 API证书升级
新接入商户请参考什么是API证书?如何获取API证书?。
已经接入并使用微信支付颁发证书的商户请参考微信支付API证书升级指引(技术人员)。 API v3已不支持使用微信支付颁发的证书。 商户升级API证书时,需要完成三个步骤:
①:商户号的超级管理员到商户平台升级证书,获取到权威CA颁发的API证书。 (查看指引)
②:超级管理员将权威CA颁发的API证书(共包含三个文件: 证书pkcs12格式、证书pem格式、证书密钥pem格式)转交给技术人员。
③:技术人员用新证书文件替换服务器上原微信支付颁发的API证书,无需对现有系统进行代码修改。
(注意)这里升级API证书不影响原有的 API 密钥 代码不需要做改动直接替换 apiclient_cert.p12文件即可
第三步: 拿到API证书和密钥文件.
第四步: 引入微信支付API v3的Apache HttpClient装饰器: GitHub 地址
注意: 微信支付API v3的Apache HttpClient扩展,实现了请求签名的生成和应答签名的验证。如不想使用次封装客户端 可自己实现 签名和应答解密过程. 相关maven依赖
第五步: 请求微信支付分API前准备
//微信支付商户开通后 微信会提供appid
public String appId;
//微信支付商户开通后 微信会提供appSecret
public String appSecret;
//商户号
public String mchId;
//32位的api密钥,微信商户平台-账户设置-安全设置-api安全 密钥 用于拉起支付签名
public String partnerkey;
//openId 是微信用户针对公众号的标识,授权的部分这里不解释
public String openId;
//微信支付成功后异步通知地址 必须要求80端口并且地址不能带参数
public String notifyUrl;
//微信支付成功后同步通知地址 必须要求80端口并且地址不能带参数
public String returnUrl;
//证书apiclient_cert.p12文件位置 可加载
public String certPath;
//微信支付分 分配的服务 ID
public String serviceId;
//v3接口 CA证书 apiclient_key.pem私钥内容
public String privateKey;
//v3接口 CA证书 apiclient_cert.pem证书内容
public String certificate;
// APIv3密钥 32 位
public String AES_KEY = "xxx";
//商户证书序列号 CA证书 可查看微信商户平台-账户设置-安全设置-api安全密钥
public String MC_HSERIAL_NO = "xxxxx";
3、敏感信息加解密
https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi
使用AES-256-GCM,对回调中的关键信息进行加密保护
建议从Verifier中获得微信支付平台证书,或使用预先下载到本地的平台证书文件中
X509Certificate wechatpayCertificate = verifier.getValidCertificate();
privateKey 为 v3接口 CA证书 apiclient_key.pem私钥内容 将String类型的privateKey 转化为PrivateKey类型
PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(new ByteArrayInputStream(privateKey.getBytes("utf-8")));
4、demo参考
构建httpClient,需要设置微信支付平台证书。
CloseableHttpClient httpClient = WechatPayHttpClientBuilder.create()
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
.withWechatpay(wechatpayCertificates) // 加载证书
.build();
在第一次下载平台证书时,按照下述方法临时"跳过”应答签名的验证
CloseableHttpClient httpClient = WechatPayHttpClientBuilder.create()
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
.withValidator(response -> true) // NOTE: 设置一个空的应答签名验证器,**不要**用在业务请求
.build();
get请求
URIBuilder uriBuilder = new URIBuilder(USER_SERVICE_STATE_URL);
uriBuilder.setParameter("service_id", yourServiceIdxxx);
uriBuilder.setParameter("appid", yourAppIdxxx);
uriBuilder.setParameter("openid", userOpenIdxxx);
CloseableHttpResponse response=null;
try {
HttpGet httpGet = new HttpGet(uriBuilder.build());
httpGet.addHeader("Accept", "application/json");
// NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误
response = getHttpDefaultClient().execute(httpGet);
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
String result = EntityUtils.toString(response.getEntity());// 返回json格式:
return JSONObject.parseObject(result);
}else {
String result = EntityUtils.toString(response.getEntity());// 返回json格式:
log.info("微信支付V3 url={} result={} responseEntity={}",uriBuilder.build(), result,JSON.toJSONString(response.getEntity()));
}
} catch (Exception e) {
log.error("微信支付V3 请求url={}异常 ",uriBuilder.build());
}finally {
if(null!=response){
response.close();
}
}
post请求
HttpPost httpPost = new HttpPost(PAYSCORE_PAYAFTER_ORDERS_URL);
StringEntity reqEntity = new StringEntity(JSONObject.toJSONString(payAfterOrdersModel), ContentType.create("application/json", "utf-8"));
httpPost.setEntity(reqEntity);
httpPost.addHeader("Accept", "application/json");
httpPost.addHeader("Content-Type", "application/json");
CloseableHttpResponse response = httpClient.execute(httpPost);
try {
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
String result = EntityUtils.toString(response.getEntity());// 返回json格式:
log.info("微信支付V3 url={} result={} ",url,result);
return JSONObject.parseObject(result);
}else {
String result = EntityUtils.toString(response.getEntity());// 返回json格式:
log.info("微信支付V3 url={} result={} response.getEntity()={}",url,result,JSON.toJSONString(response.getEntity()));
}
} catch (Exception e) {
log.error("微信支付V3 请求url={} 参数={} 异常 e={}",url, JSON.toJSONString(json),e.getMessage());
}finally {
response.close();
}
官方DEMO参考: https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient/blob/master/src/test/java/com/wechat/pay/contrib/apache/httpclient/HttpClientBuilderTest.java
5、回调通知解密算法(AEAD_AES_256_GCM)
我们已一个实际接口为例,进行讲解:
下面我们对resource部分进行解密,解密算法如下:
package com.wsw.sdk.utils;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.GCMParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class WxAPIV3AesUtil {
static final int KEY_LENGTH_BYTE = 32;
static final int TAG_LENGTH_BIT = 128;
private final byte[] aesKey;
public WxAPIV3AesUtil(byte[] key) {
if (key.length != KEY_LENGTH_BYTE) {
throw new IllegalArgumentException("无效的ApiV3Key,长度必须为32个字节");
}
this.aesKey = key;
}
public String decryptToString(byte[] associatedData, byte[] nonce, String ciphertext)
throws GeneralSecurityException, IOException {
try {
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
SecretKeySpec key = new SecretKeySpec(aesKey, "AES");
GCMParameterSpec spec = new GCMParameterSpec(TAG_LENGTH_BIT, nonce);
cipher.init(Cipher.DECRYPT_MODE, key, spec);
cipher.updateAAD(associatedData);
return new String(cipher.doFinal(Base64.getDecoder().decode(ciphertext)), "utf-8");
} catch (NoSuchAlgorithmException | NoSuchPaddingException e) {
throw new IllegalStateException(e);
} catch (InvalidKeyException | InvalidAlgorithmParameterException e) {
throw new IllegalArgumentException(e);
}
}
}
调用示例:
//解密回调信息
byte[] key = SystemConst.WX_KEY.getBytes("UTF-8");
WxAPIV3AesUtil aesUtil = new WxAPIV3AesUtil(key);
String decryptToString = aesUtil.decryptToString(assc.getBytes("UTF-8"),noce.getBytes("UTF-8"),cip);
优惠劵
韩师学子--小倪
关注
关注
1
点赞
踩
9
收藏
觉得还不错?
一键收藏
知道了
2
评论
WechatPay-API-v3接口规则
WechatPay-API-v3接口规则1、官方文档https://wechatpay-api.gitbook.io/wechatpay-api-v3/2、下面是Java 接入过程:第一步: 阅读微信支付分给的接口规则 说明: https://wechatpay-api.gitbook.io/wechatpay-api-v3/第二步: 微信支付API v3要用第三方CA的证书 所以涉及到 API证书升级新接入商户请参考什么是API证书?如何获取API证书?。已经接入并使用微信..
复制链接
扫一扫
专栏目录
wechatpay-postman-script:微信支付API v3的调试工具
05-07
微信支付API v3 Postman脚本使用指南
简介
是一款业界知名的API开发工具。为了方便微信支付的商户开发者快速上手,我们利用Postman强大的脚本扩展能力,编写了一套微信支付API v3的请求前置脚本。通过这套脚本,商户开发者不用自行计算API v3的签名,就可以在Postman上轻松的构造并发送API请求。
导入
脚本和相关配置,统一保存在的JSON文件中。开发者可以点击Postman界面左上角的Import按钮或者通过File中的Import发起导入。选择本地的wechatpay-apiv3.postman_collection.json,点击确认后,导入便完成了。
你会发现在左侧Collection下新增了名为wechatpay-apiv3的一组请求。
配置脚本
选中wechatpay-apiv3,右键Edit进入Collection的配置页面。如图所示。
在弹出的Edi
微信支付签名与验签-APP支付问题
longddechuanren的专栏
04-08
3153
使用API v3微信支付遇到的问题:
1.jdk版本问题, 自动更新证书加载失败, 改成jdk11解决;
2.请求头必须设置请求头 Accept, content-Type
3.通知接收 RequestBody 必须使用Object, 如果用实体类JSON化后属性位置可能发生变化, 影响验签, 不同的JSON类会影响转成字符串后的属性顺序, 我用的是 com.fasterxml.jackson.databind.ObjectMapper 用阿里的JSON类验签不行
4.支付通知本地调试: 配置ng.
2 条评论
您还未登录,请先
登录
后发表或查看评论
wechatpay-apache-httpclient:微信支付 APIv3 Apache HttpClient装饰器(decorator)
05-01
wechatpay-apache-httpclient
概览
的扩展,实现了请求签名的生成和应答签名的验证。
如果你是使用Apache HttpClient的商户开发者,可以使用它构造HttpClient。得到的HttpClient在执行请求时将自动携带身份认证信息,并检查应答的微信支付签名。
项目状态
当前版本0.2.2为测试版本。请商户的专业技术人员在使用时注意系统和软件的正确性和兼容性,以及带来的风险。
环境要求
Java 1.8+
安装
最新版本已经在 发布。
Gradle
在你的build.gradle文件中加入如下的依赖
implementation 'com.github.wechatpay-apiv3:wechatpay-apache-httpclient:0.2.2'
Maven
加入以下依赖
wechatpay-node-v3-ts:微信支付v3
05-19
微信支付v3 支持在ts和js中使用
欢迎大家加入一起完善这个api
前言
微信官方在2020-12-25正式开放了版本的接口,相比较旧版本有了不少改变,例如:
遵循统一的Restful的设计风格
使用JSON作为数据交互的格式,不再使用XML
使用基于非对称密钥的SHA256-RSA的数字签名算法,不再使用MD5或HMAC-SHA256
不再要求HTTPS客户端证书
使用AES-256-GCM,对回调中的关键信息进行加密保护
由于官方文档只支持java和php,所以我在这里使用ts简单的封装了一个版本,支持在js或者ts中使用,后续会更加完善这个npm包,谢谢。
使用
yarn add wechatpay-node-v3(也可以用npm)
import WxPay from 'wechatpay-node-v3'; // 支持使用require
import fs from 'fs';
wechatpay-axios-plugin:微信支付 WeChatPay OpenAPI v2&v3' SDK,以命令行方式与接口交互,play the openapi requests over command line
04-27
微信支付 OpenAPI SDK
The WeChatPay OpenAPI v2&v3' Smart Development Kit
主要功能
使用Node原生crypto实现微信支付APIv3的AES加/解密功能(aes-256-gcm with aad)
使用Node原生crypto实现微信支付APIv3的RSA加/解密、签名、验签功能(sha256WithRSAEncryption with RSA_PKCS1_OAEP_PADDING)
大部分微信支付APIv3的HTTP GET/POST/PUT/PATCH/DELETE应该能够正常工作,依赖 , 示例代码如下
支持微信支付APIv3的媒体文件上传(图片/视频)功能,需手动安装 , 示例代码如下
支持微信支付APIv3的应答证书下载功能,需手动安装 , 使用手册如下
支持微信支付APIv3的帐单下载及解析功能,示例代
微信支付总结(JSAPI)(V3)(JAVA)
最新发布
ZX5191的专栏
06-07
7552
前一阵子做了一个微信支付相关的功能,期间走了不少的弯路。在这里给大家趟趟雷,希望大家能因此受益。在这里,我从头到尾一步步给大家捋顺。
微信支付APIv3
xzy的博客
09-16
6968
微信支付
实战微信支付 APIv3 接口(小程序的)
zhangxin09的专栏
03-31
9128
官方 SDK 不错,只是依赖 Apache-httpclient,可是我连 Apache-httpclient 都不想用啊,于是就自行接入。其实官方文档也很详尽,只是有点乱(否则就没有我写本文的需要啦)。官方文档如是说。
【WeChatPay】微信支付V3学习笔记(一)
lushixuan12345的博客
10-02
3520
获取相关信息、引依赖、写配置类、获取商户的私钥文件、获取签名验证器、获取http请求对象、下单显示微信支付二维码、微信返回用户支付信息、解密微信返回信息用于更新订单、用户取消订单
微信支付APIV3统一支付接口(H5、JSAPI、H5、App、小程序)
热门推荐
一恍过去
07-10
2万+
微信支付APIV3统一支付接口(H5、JSAPI、H5、App、小程序)
wechatpay-guzzle-master_payment支付_wechatpay_wechatpay_v3接口_Samsu
10-02
php微信支付v3版本签名生成,官方有给提供了类库和SDK,不过我这里项目没有用着composer, 使用官方提供的话 需要改动太大,所以这里就自己做了一个简单的封装, 所以不清楚官方提供的库具体如何。
spring boot 接入微信支付 V3key
coderYJ的博客
08-22
425
微信支付 微信支付V3key
微信支付V3 小程序支付API Java版
weixin_41476211的博客
12-30
5293
微信小程序支付文档流程整理(Java版)
微信支付,签名,回调v3版本
qxy_1218的博客
05-30
2592
微信支付,微信支付v3
【Wechat】微信支付APIV3(商户) 接入批量转账到零钱
u010029123的博客
07-20
3627
微信支付V3(商户)》批量转账到零钱
微信支付APIV3统一回调接口封装(H5、JSAPI、App、小程序)
一恍过去
07-12
2万+
微信支付APIV3统一回调接口封装(H5、JSAPI、H5、App、小程序)
java证书不通过,验证证书不通过
weixin_39970369的博客
03-16
340
package com.wechat.pay.contrib.apache.httpclient;import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;...
Spring Boot 对接微信V3支付(附源码)
z981012的博客
07-05
1万+
前言
楼主两星期前入职了一家公司,刚入职前两天就是看代码熟悉项目,之后一星期写了几个简单的接口,前两天领导说看我简历上写了做过支付,让我搞三方支付。哎,我一想这不完犊子了吗,我训机构出来的,项目经验都是包的,没办法只能硬着头皮上了。先做的支付宝,接入支付宝很简单,支付宝官方有提供的sdk,而且有沙箱可以进行测试,没啥难的。
微信支付就比较麻烦了,各种验签,加密,让我搞这个我的第一想法是rm -rf /*跑路算了。
没办法还是要做,首先想到的就是度娘,之前有位前辈曾指点过我面向百度和...
微信支付apiV3异常:The corresponding provider for the merchant already exists
迪八戈的博客
02-04
5496
java.lang.IllegalStateException: The corresponding provider for the merchant already exists.
wechatpay-apache-httpclient用例
03-28
作为一个AI语言模型,我无法提供wechatpay-apache-httpclient的完整用例,但我可以为您提供一些参考资料和建议:
1. 我们可以在官方文档中找到wechatpay-apache-httpclient的使用方法。可以参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/chang-jian-wen-ti/httpclient-ru-he-shi-yong
2. 首先,需要在项目中引入wechatpay-apache-httpclient的依赖,例如在Maven项目中,可以在pom.xml文件中添加以下依赖:
```xml
```
3. 接下来,我们需要配置httpClient,包括设置连接池、连接超时时间、读取超时时间等。例如:
```java
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(100); // 最大连接数
connectionManager.setDefaultMaxPerRoute(20); // 单个路由最大连接数
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(5000) // 连接超时时间
.setSocketTimeout(5000) // 读取超时时间
.build();
CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(requestConfig)
.build();
```
4. 然后,我们可以使用httpClient发送请求,并处理响应结果。例如:
```java
HttpPost httpPost = new HttpPost("https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi");
httpPost.setHeader("Content-Type", "application/json");
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Wechatpay-Serial", "XXXXXXXXXXX");
httpPost.setHeader("Authorization", "WECHATPAY2-SHA256-RSA2048 " + accessToken);
StringEntity entity = new StringEntity(requestJson, "UTF-8");
httpPost.setEntity(entity);
HttpResponse httpResponse = httpClient.execute(httpPost);
int statusCode = httpResponse.getStatusLine().getStatusCode();
String responseJson = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
if (statusCode == HttpStatus.SC_OK) {
// 处理成功响应结果
} else {
// 处理失败响应结果
}
```
以上代码仅为示例,具体使用方法还需根据实际情况进行调整。同时,为了保证代码的可读性和可维护性,建议使用封装好的工具类来处理httpClient请求和响应结果。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
韩师学子--小倪
CSDN认证博客专家
CSDN认证企业博客
码龄7年
小米员工
1072
原创
1万+
周排名
496
总排名
235万+
访问
等级
2万+
积分
1658
粉丝
914
获赞
289
评论
3144
收藏
私信
关注
热门文章
四种常见的 POST 提交数据方式(application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml)
88607
IP地址,子网掩码、默认网关,DNS的设置和工作原理(总结)
47787
Nginx超时配置
47771
详解mysql的for update
41448
蓝桥杯历届试题
35738
分类专栏
-----------算法知识-------------
2篇
Acm入坑
11篇
蓝桥杯之战
19篇
小米编程
3篇
动态规划
10篇
贪心
11篇
大数问题
10篇
树
7篇
图论
3篇
字符串处理
1篇
博弈论
2篇
数学几何
4篇
分治+二分法
4篇
水题
13篇
-----------面试知识-------------
1篇
剑指offer--JAVA实现
65篇
牛客网刷题
22篇
LeetCode--easy
98篇
LeetCode--medium
190篇
LeetCode--difficult
49篇
源码解析
11篇
多线程
6篇
面试珠玑
63篇
大数据处理
9篇
操作系统
1篇
计算机网络
8篇
-----------项目知识-------------
4篇
服务演练
6篇
Java电商项目实战
23篇
Javamail邮箱客户端项目实战
45篇
SSM项目问题解决
19篇
支付知识
18篇
架构之路
3篇
-----------前端知识-------------
4篇
Web页面
14篇
Javascript
12篇
Json
8篇
Ajax
15篇
Ext
2篇
JQuery
16篇
LayUI
7篇
Angularjs
5篇
Amaze UI
3篇
Easyui
1篇
J2EE开发案例
7篇
KindEditor
6篇
J2EE
18篇
-----------数据库-------------
Mysql
69篇
Redis
40篇
MongoDB
3篇
Oracle
1篇
-----------语言学习-------------
1篇
Java
54篇
Java8
6篇
Java_JVM
27篇
Java的多线程
16篇
Java的语言应用
9篇
Java设计模式
25篇
Python
29篇
Android
3篇
-----------消息中间件------------
1篇
Pulsar
2篇
ActiveMQ
6篇
----------大数据框架-----------
1篇
Flink
4篇
Kubenertes
1篇
Hive
11篇
-----------基础入门-------------
1篇
arthas
6篇
Spring
34篇
Springmvc
10篇
Mybatis
16篇
Springboot
10篇
SpringCloud
1篇
Shiro
11篇
Docker
7篇
Resin
10篇
Tomcat
8篇
Dubbo
3篇
Zookeeper
10篇
Maven
16篇
Nginx
20篇
Linux
45篇
Centos
5篇
Shell
3篇
工具
17篇
WSL
9篇
Solr
4篇
Git
8篇
FastDFS
1篇
JMeter
3篇
JUnit
1篇
Webservice
4篇
Http
11篇
服务器
9篇
监控
Gson
10篇
Paoding-rose
2篇
Thrift
2篇
Guava
7篇
-----------杂文-------------
6篇
Cygwin
2篇
Log
18篇
IDEA
15篇
Repo
6篇
考试备考
5篇
软件安装
6篇
微信支付
2篇
六级备战
6篇
生活
3篇
技术沙龙
2篇
加密与安全
8篇
最新评论
2369. 检查数组是否存在有效划分
CSDN-Ada助手:
算法 技能树或许可以帮到你:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm
详解mysql的for update
小小码农还敢班门弄斧:
这个要看你事务的级别
2731. 移动机器人
简单简单小白:
讲解的很详细,很有参考价值
排查https请求出现received fatal alert: internal_error的问题
SamuelWorking:
方案三是不是对低版本的jdk不管用啊
chrome浏览器的默认超时时间
lgq2016:
这个是,空闲连接保持的时间吧
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
2369. 检查数组是否存在有效划分
2673. 使二叉树所有路径值相等的最小代价
235. 二叉搜索树的最近公共祖先
2024年15篇
2023年38篇
2022年57篇
2021年284篇
2020年172篇
2019年281篇
2018年592篇
2017年69篇
目录
目录
分类专栏
-----------算法知识-------------
2篇
Acm入坑
11篇
蓝桥杯之战
19篇
小米编程
3篇
动态规划
10篇
贪心
11篇
大数问题
10篇
树
7篇
图论
3篇
字符串处理
1篇
博弈论
2篇
数学几何
4篇
分治+二分法
4篇
水题
13篇
-----------面试知识-------------
1篇
剑指offer--JAVA实现
65篇
牛客网刷题
22篇
LeetCode--easy
98篇
LeetCode--medium
190篇
LeetCode--difficult
49篇
源码解析
11篇
多线程
6篇
面试珠玑
63篇
大数据处理
9篇
操作系统
1篇
计算机网络
8篇
-----------项目知识-------------
4篇
服务演练
6篇
Java电商项目实战
23篇
Javamail邮箱客户端项目实战
45篇
SSM项目问题解决
19篇
支付知识
18篇
架构之路
3篇
-----------前端知识-------------
4篇
Web页面
14篇
Javascript
12篇
Json
8篇
Ajax
15篇
Ext
2篇
JQuery
16篇
LayUI
7篇
Angularjs
5篇
Amaze UI
3篇
Easyui
1篇
J2EE开发案例
7篇
KindEditor
6篇
J2EE
18篇
-----------数据库-------------
Mysql
69篇
Redis
40篇
MongoDB
3篇
Oracle
1篇
-----------语言学习-------------
1篇
Java
54篇
Java8
6篇
Java_JVM
27篇
Java的多线程
16篇
Java的语言应用
9篇
Java设计模式
25篇
Python
29篇
Android
3篇
-----------消息中间件------------
1篇
Pulsar
2篇
ActiveMQ
6篇
----------大数据框架-----------
1篇
Flink
4篇
Kubenertes
1篇
Hive
11篇
-----------基础入门-------------
1篇
arthas
6篇
Spring
34篇
Springmvc
10篇
Mybatis
16篇
Springboot
10篇
SpringCloud
1篇
Shiro
11篇
Docker
7篇
Resin
10篇
Tomcat
8篇
Dubbo
3篇
Zookeeper
10篇
Maven
16篇
Nginx
20篇
Linux
45篇
Centos
5篇
Shell
3篇
工具
17篇
WSL
9篇
Solr
4篇
Git
8篇
FastDFS
1篇
JMeter
3篇
JUnit
1篇
Webservice
4篇
Http
11篇
服务器
9篇
监控
Gson
10篇
Paoding-rose
2篇
Thrift
2篇
Guava
7篇
-----------杂文-------------
6篇
Cygwin
2篇
Log
18篇
IDEA
15篇
Repo
6篇
考试备考
5篇
软件安装
6篇
微信支付
2篇
六级备战
6篇
生活
3篇
技术沙龙
2篇
加密与安全
8篇
目录
评论 2
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值