| 字段 | 内容 |
|---|---|
| ------ | ------ |
| Slug | wechatpay-risk-check |
| 名称 | 微信支付风控核查 |
| 描述 | 微信支付风控核查解决方案,提供事前商户风险核查服务。基于微信支付官方风控接口,支持身份证、银行卡、营业执照、门店信息等多维度风险评估,精准识别高风险商户,保障支付安全。 |
| 版本 | 1.0.0 |
| 作者 | 叶建国 |
| 标签 | payment, wechat, weixin, fintech, risk-control |
在商户入驻前进行多维度风险评估,精准识别高风险商户。
核查维度:
风险级别:
| 级别 | 说明 | 处理建议 |
|---|---|---|
| ------ | ------ | ---------- |
| UNKNOW | 未知风险 | 需人工复核 |
| NORMAL | 一般风险 | 正常进件 |
| MEDIUM | 中风险 | 需补充材料 |
| HIGH | 高风险 | 拒绝进件 |
| LOW | 低风险 | 快速通过 |
| FORBIDDEN | 禁入 | 永久拒绝 |
const WechatPay = require('./lib/wechatpay');
const wp = new WechatPay({
appId: 'wx8888888888888888',
mchId: '1900000109', // 服务商号
apiKey: 'YOUR_API_KEY', // API密钥
appSecret: 'YOUR_APPSECRET',
certPath: '/path/to/apiclient_cert.pem', // 证书路径
certKeyPath: '/path/to/apiclient_key.pem', // 私钥路径
notifyUrl: 'https://your-domain.com/notify',
isSandbox: false // 是否沙箱环境
});
// 查询商户风险
const riskResult = await wp.preRisk.queryMchRisk({
certificates_number: '加密后的身份证号',
certificates_name: '加密后的姓名',
settlement_card_no: '加密后的银行卡号',
settlement_card_name: '加密后的户名',
business_license_number: '加密后的营业执照号',
company_name: '公司名称',
store_address: '门店地址',
store_longitude: '经度',
store_latitude: '纬度'
});
console.log('风险级别:', riskResult.risk_level);
console.log('风险描述:', riskResult.risk_level_desc);
// JSAPI支付下单
const order = await wp.trade.createJsapiOrder({
body: '商品描述',
out_trade_no: 'ORDER123456789',
total_fee: 1, // 单位:分
spbill_create_ip: '客户端IP',
notify_url: 'https://your-domain.com/notify',
trade_type: 'JSAPI',
sub_openid: '用户openid'
});
console.log('支付参数:', order);
// 返回唤起微信支付所需的参数
// 查询订单状态
const orderInfo = await wp.trade.queryOrder({
out_trade_no: 'ORDER123456789'
});
console.log('订单状态:', orderInfo.trade_state);
console.log('交易金额:', orderInfo.total_fee);
// 申请退款
const refund = await wp.trade.applyRefund({
out_trade_no: 'ORDER123456789',
out_refund_no: 'REFUND123456789',
total_fee: 1,
refund_fee: 1,
refund_desc: '用户申请退款'
});
// 查询账户余额
const balance = await wp.settlement.getBalance();
console.log('可用余额:', balance.available_balance);
console.log('待结算金额:', balance.pending_balance);
// 获取对账单下载链接
const billUrl = await wp.settlement.getBillDownloadUrl({
bill_date: '20240401',
bill_type: 'ALL' // ALL: 全部分账账单, SUCCESS: 成功账单, REFUND: 退款账单
});
console.log('账单下载地址:', billUrl.download_url);
| 方法 | 说明 | 适用场景 |
|---|---|---|
| ------ | ------ | ---------- |
queryMchRisk | 商户风险核查 | 商户入驻前必查 |
queryCertificateRisk | 证照风险核查 | 营业执照核实 |
querySettlementRisk | 结算信息风险 | 银行卡风控 |
| 方法 | 说明 |
|---|---|
| ------ | ------ |
createJsapiOrder | JSAPI支付下单 |
createNativeOrder | Native支付下单 |
createAppOrder | APP支付下单 |
queryOrder | 查询订单 |
closeOrder | 关闭订单 |
applyRefund | 申请退款 |
queryRefund | 查询退款 |
reverseOrder | 撤销订单 |
| 方法 | 说明 |
|---|---|
| ------ | ------ |
getBalance | 查询账户余额 |
getBillDownloadUrl | 获取账单下载链接 |
getTransferBill | 转账电子回单 |
getSettlementInfo | 结算信息 |
getDailySummary | 日交易汇总 |
| 方法 | 说明 |
|---|---|
| ------ | ------ |
parseNotify | 解析回调通知 |
verifyNotifySign | 验签 |
responseSuccess | 返回成功响应 |
微信支付需要双向SSL证书:
{
certPath: './cert/apiclient_cert.pem',
certKeyPath: './cert/apiclient_key.pem'
}
证书获取方式:
敏感信息(身份证、银行卡等)需使用RSA加密:
const encrypted = wp.utils.rsaEncrypt(rawData, publicKey);
所有请求需使用HMAC-SHA256签名:
const sign = wp.utils.sign(params, apiKey);
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| -------- | ------ | ---------- |
| SYSTEMERROR | 系统错误 | 稍后重试 |
| PARAM_ERROR | 参数错误 | 检查参数 |
| ORDERPAID | 订单已支付 | 核实订单状态 |
| ORDERCLOSED | 订单已关闭 | 无需处理 |
| BANKERROR | 银行异常 | 联系银行 |
| USERPAYING | 用户支付中 | 等待支付结果 |
| AUTHCODEERROR | 授权码无效 | 重新获取授权码 |
| NOTENOUGH | 余额不足 | 用户充值 |
{
"axios": "^1.6.0",
"xml2js": "^0.5.0",
"crypto-js": "^4.2.0",
"node-rsa": "^1.1.1"
}
本技能基于微信支付官方文档开发,版权归属微信支付所有。
如有疑问请联系微信支付商户客服:95017
微信支付文档:https://pay.weixin.qq.com/
共 1 个版本