imtoken官网下载中国版2.0|wechatpay

作者: imtoken官网下载中国版2.0
2024-03-17 08:49:46

微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式

>

微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式

境内商户

合作伙伴

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)​赞同 14​​14 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录中信银行国际中信银行国际,包含中信香港卡等一系

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

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.导入依赖

com.github.wechatpay-apiv3

wechatpay-java

0.2.9

cn.hutool

hutool-all

5.0.6

com.google.zxing

core

3.3.3

接入前的准备 参考文档:接入前准备-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依赖

com.xiaomi.wechatpay-apiv3

wechatpay-apache-httpclient

0.1.6

第五步: 请求微信支付分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

加入以下依赖

com.github.w

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

com.wechatpay

wechatpay-apache-httpclient

6.5.6

```

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、付费专栏及课程。

余额充值