1.0.33 • Published 2 years ago

fs-payment-components v1.0.33

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

fs-payment

支付组件

使用前

添加服务器域名

  1. 小程序账号登录微信公众平台
  2. 开发 —> 开发管理 —> 开发设置 —> 服务器域名
  3. request合法域名 中增加如下配置

https://prepaygw.51fubei.com
https://fshows-ecs-pro.cn-hangzhou.log.aliyuncs.com

引入付呗礼品卡插件

一. 申请付呗礼品卡插件使用权限

  1. 小程序账号登录微信公众平台
  2. 设置 —> 第三方设置 -> 插件管理 —> 添加插件,进入添加插件操作页面
  3. 搜索插件名 付呗礼品卡 并添加, 提交审核待通过

二. 在小程序 app.json 文件中加入配置

// app.json
{
  "plugins": {
    "**": {
      "version": "",
      "provider": ""
    }
  }
}

安装

通过 npm 安装

小程序支持使用 npm 安装第三方包,详见 npm 支持

# 通过 npm 安装
npm i fs-payment -S

构建

  1. 小程序开发者工具 -> 详情(工具右上角) -> 本地设置 -> 使用 npm 模块
  2. 小程序开发者工具 -> 工具 -> 构建 npm
  3. 构建成功后小程序代码包中将产出 "miniprogram_npm" 文件夹,确保文件夹内有fs-payment文件夹。

使用组件

以全屏页面版组件为例,只需要在 json 文件中引入组件即可

{
  "usingComponents": {
    "fs-pay-page": "/miniprogram_npm/fs-payment/fsPayPage/index"
  }
}

代码演示

基础用法

需要传入一个payInfo的对象,对象属性见文档下方表格。

<fs-pay-page
  wx:if="{{showPayPage}}"
  payInfo="{{payInfo}}"
  customNavigate="{{true}}"
  bind:paysuccess="handlePaySuccess"
  bind:payfailed="handlePayFailed"
  bind:close="handlePayPageClose"
/>
  • 如果要在同一页面展示组件,用wx:if控制组件的显示隐藏;如果新跳页面展示组件,则不需要wx:if
  • 如果您使用组件的页面是自定义导航栏模式,那么可以设置customNavigatetrue,打开组件内部的自定义导航栏。

API

Props

参数说明类型默认值
payInfo支付组件入参对象Object{}
customNavigate是否使用自定义导航栏booleanfalse
zIndex组件层级number999

Events

事件名说明参数
bind:paysuccess支付成功时触发event.detail
bind:payfailed支付失败时触发event.detail
bind:close点击组件的自定义导航栏的关闭按钮,关闭组件时触发

paysuccesse.detail

键名说明类型是否必填备注
payStatus支付状态numberY1-已付款
merchantOrderSn外部订单号stringN-
orderSn付呗交易订单号stringN-
payplugOrderSn收银组件订单号stringN-

payfailede.detail

键名说明类型是否必填备注
errorCode错误状态码numberN-
errorMsg错误消息stringN-
payStatus支付状态numberN2-已取消 4-已关闭 5-撤销中 6-已撤销 7-撤销失败
merchantOrderSn外部订单号stringN-
orderSn付呗交易订单号stringN-
payplugOrderSn收银组件订单号stringN-

payInfo

API中的payInfo为一个对象,有以下key

键名说明类型默认值是否必传(Y/N)
orderPrice支付金额string-Y
merchantId商户idstring-Y
merchantName商户名称string-N
orgId广场idstring-Y
openId用户openidstring-Y
unionId用户unionidstring-Y
phone用户手机号string-Y
merchantOrderSn订单idstring-Y
storeId门店idstring-N
payScene用户支付场景 'APPLET_CONSUME_SCENE'-正常场景 'BUY_PRE_PAY_CARD_SCENE'-购卡场景stringAPPLET_CONSUME_SCENEN
goodsTag订单优惠标记,代金券或立减优惠功能的参数(使用单品券时必传)string-N
detail订单包含的商品信息,Json格式。当当微信支付或者支付宝支付时时可选填此字段。对于使用单品优惠的商户,该字段必须按照规范上传,详见“单品优惠参数说明string-N
couponList优惠券列表(对象数组),券信息见下面coupon表Array-N
orderTimeoutExpress订单支付剩余时间,单位秒number15 * 60,默认15分钟N
royalty分账自定义打标参数;0-不分帐 1-分帐number0N
payplugAttach扩展参数string(1024)-N
payplugCallbackUrl回调地址string-N
isInPlugin是否调起插件支付booleantrueN

coupon

键名说明类型默认值是否必传(Y/N)
couponId卡券IDstring-Y
couponName卡券名称string-Y
couponQuantity卡券数量string-Y
couponPrice卡券单价:单位为分number-Y
couponCode卡券的券码string-Y
couponSubsidyDetail卡券补贴详情 1、使用卡券时必传:JSON格式,补贴的5个组成部分缺一不可 2、补贴部分金额总合需要与卡券面额相等string-Y

couponSubsidyDetail

是list形式

参数说明类型默认值是否必传(Y/N)
subsidyRole卡券补贴角色:传入角色名称即可string-Y
subsidyType卡券补贴类型:1-顾客实际支付 2-商家补贴 3-机构补贴(万达) 4-银行补贴 5-其他number-Y
subsidyPrice卡券补贴金额,单位为分number-Y

有效数据示例

[
  {
    "subsidyRole": "顾客支付",
    "subsidyType": 1,
    "subsidyPrice": 70000
  },
  {
    "subsidyRole": "商家XX",
    "subsidyType": 2,
    "subsidyPrice": 10000
  },
  {
    "subsidyRole": "万达xxx广场",
    "subsidyType": 3,
    "subsidyPrice": 10000
  },
  {
    "subsidyRole": "建设银行",
    "subsidyType": 4,
    "subsidyPrice": 10000
  },
  {
    "subsidyRole": "其他",
    "subsidyType": 5,
    "subsidyPrice": 10000
  }
]

空数据示例

[
  {
    "subsidyRole": "顾客支付",
    "subsidyType": 1,
    "subsidyPrice": 90000
  },
  {
    "subsidyRole": "商家",
    "subsidyType": 2,
    "subsidyPrice": 10000
  },
  {
    "subsidyRole": "",
    "subsidyType": 3,
    "subsidyPrice": 0
  },
  {
    "subsidyRole": "",
    "subsidyType": 4,
    "subsidyPrice": 0
  },
  {
    "subsidyRole": "其他",
    "subsidyType": 5,
    "subsidyPrice": 0
  }
]

嵌入式支付组件

{
  "usingComponents": {
    "fs-pay-list": "/miniprogram_npm/fs-payment/fsPayList/index"
  }
}
<fs-payment-list
  id="fsPayment"
  payInfo="{{payInfo}}"
  bind:paysuccess="handlePaySuccess"
  bind:payfailed="handlePayFailed"
/>
// 确认支付
handlePay () {
  const fsPayment = this.selectComponent('#fsPayment')
  fsPayment.confirmPay() // 子组件的方法
}

组件外部调组件内部confirmPay方法,唤起支付

事件名说明参数
confirmPay--

Props

参数说明类型默认值
payInfo支付组件入参对象Object{}

Events

事件名说明参数
bind:paysuccess支付成功时触发e.detail
bind:payfailed支付失败时触发e.detail

paySuccesse.detail

键名说明类型是否必填备注
payStatus支付状态numberY1-已付款
merchantOrderSn外部订单号stringN-
orderSn付呗交易订单号stringN-
payplugOrderSn收银组件订单号stringN-

payFailede.detail

键名说明类型是否必填备注
errorCode错误状态码numberN-
errorMsg错误消息stringN-
payStatus支付状态numberN2-已取消 4-已关闭 5-撤销中 6-已撤销 7-撤销失败
merchantOrderSn外部订单号stringN-
orderSn付呗交易订单号stringN-
payplugOrderSn收银组件订单号stringN-

定制主题

定制全局主题样式

在 app.wxss 中,写入 CSS 变量,即可对全局生效

page {
  --button-border-radius: 10px;
  --button-default-background-color: #f2f3f5;
  --button-default-color: #f2f3f5;
  --button-default-border-color: #f2f3f5;
}
1.0.33

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago