1.0.0 • Published 1 year ago

@activity-maker/popup-checkstand v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

@activity-maker/popup-checkstand

说明文档

https://alidocs.dingtalk.com/i/team/Y7kmb58PWN4MXLq2/docs/Y7kmbE5yabbMWXLq

数据持久化

localstorage 缓存上一次支付成功方法: payMethod => {"rawData":"ALIPAY"}

API

import popupCheckstand, {
  lyConfigApiList,
  useInitPayPopup,
} from '@activity-maker/popup-checkstand';

popupCheckstand

参数说明类型版本
checkWeChatAuth微信静默授权(thirdPartyId: number)?: string
show唤起浮层收银台(p: PopupCheckstandParams)?: DestroyFn

PopupCheckstandParams extends PopPayCallbackParams

参数说明类型必填默认值版本
cashierInfo支付数据string ( JSON )---
tradeOrderNosRef订单号{ current?: string }---
openIdRefopenId{ current?: string }---
paymentBtnStyle支付底部按钮样式React.CSSProperties---
onClose支付数据() => void---
thirdPartyId支付数据number17---
domain标识number1---
pullToRefresh禁用下拉刷新booleanfalse---
onShow展示回调() => void---
onPaySuccess支付成功回调(params: { selectedMethod: string; orderNo: string }) => void0.36.0
onPayError支付过程发生错误回调(params: {selectedMethod?: string;orderNo: string;errorCode: string \| number;errorMessage: string;payScene: '1' \| '2';}) => void0.36.0
onSelectMethod支付方式选择(params: { selectedMethod: string; orderNo: string }) => void0.36.0
onPayBefore确认支付前回调(params: { selectedMethod: string; orderNo: string }) => void0.36.0
payMethodVersion支付方式版本号配置Record<T,{name: T;version: string;}>默认主站的支付方式版本号0.36.2

lyConfigApiList

浮层收银台需要 lysdk 的方法参数

属性意义参考 lysdk

'payment.zf1', 'payment.zf2', 'payment.abcPay', 'payment.unionPay', 'payment.spdbPay', 'payment.isUnionPayInstalled', 'page.pullToRefresh', 'page.stopPullToRefresh', 'device.getDeviceInfo', 'storage.setItem', 'storage.getItem', 'payment.ccbPay', 'payment.bocPay', 'statistic.ubtSource',

useInitPayPopup

初始化浮层收银台暴露下单并唤起浮层收银台方法

const { cancelOrder, destroy, popPay } = useInitPayPopup(
  (config: UsePayConfig = {}),
);
参数说明类型版本
cancelOrder取消订单并销毁浮层(reason?: string)=> void
destroy销毁浮层() => void
popPay下单唤起浮层收银台(params: PopPayParams) =>

UsePayConfig extends Omit<PopPayParams, 'orderItems' | 'context' | 'promotionItems'>

全局的基本配置,如果在调用支付组件中没有传对应的参数,会从这个全局配置中读取。

参数说明类型必填默认值
appIdentifier业务身份标识stringa1o6nonh0f14ltckcgg6o7uuq07l6sgm
thirdPartyId用于在微信环境下下单使用,wx 授权 idstring17
onClose全局点击支付组件关闭按钮回调()=> void-
onShow支付组件弹出时的回调函数()=> void-
pullToRefresh是否使用下拉刷新Boolean-
returnUrl成功回调 urlstring-
onShow支付组件弹出时的回调函数()=> void-

PopPayParams extends PopupCheckstandParams

参数说明类型必填版本
orderItems售卖商品OrderItem[]----
domain标识DomainType----
tradeType交易类型number 1:消费,2:充值,4:拼团,5:买赠----
contextRecord<string, any>----
returnUrl成功回调 urlstring----
onShow打开回调() => void----
onClose关闭回调() => void----
promotionItems促销信息TradePromotionItemType[]----
onPlaceOrderFail下单失败回调(errorCode: number, errorMsg: string) => void----
onPlaceOrderSuccess下单成功回调(res: any) => void----
onPaySuccess支付成功回调(params: { selectedMethod: string; orderNo: string }) => void0.36.0
onPayError支付过程发生错误回调(params: {selectedMethod?: string;orderNo: string;errorCode: string \| number;errorMessage: string;payScene: '1' \| '2';}) => void0.36.0
onSelectMethod支付方式选择(params: { selectedMethod: string; orderNo: string }) => void0.36.0
onPayBefore确认支付前回调(params: { selectedMethod: string; orderNo: string }) => void0.36.0
paymentBtnStyle支付底部按钮样式React.CSSProperties---

公共回调

PopPayCallbackParams

  • /** 关闭回调 */ onClose?: () => void;
  • /** 打开回调 _/ onShow?: () => void;
  • /** 支付方式选择回调 _/ onSelectMethod?: (params: { selectedMethod: string; orderNo: string; }) => void;
  • /** 确认支付前回调 */ onPayBefore?: (params: { selectedMethod: string; orderNo: string }) => void;
  • /** 支付成功回调 _/ onPaySuccess?: (params: { selectedMethod: string; orderNo: string }) => void;
  • /** 支付过程发生错误回调 _/ onPayError?: (params: { selectedMethod?: string; orderNo: string; errorCode: string | number; errorMessage: string; payScene: '1' | '2'; }) => void;

Demo

import PopupCheckstand, {
  lyConfigApiList,
  useInitPayPopup,
} from '@activity-maker/popup-checkstand';

openId = PopupCheckstand.checkWeChatAuth(17); // 微信授权

PopupCheckstand.show({
  cashierInfo: value.cashierInfo,
  thirdPartyId: 17,
  paymentBtnStyle: {
    background: 'linear-gradient(180.02deg, #FFDD12 0.03%, #FFBE1D 100.75%)',
  },
  onShow: (params: any) => {
    console.log('onShow', params);
  },
  onPayBefore: (params: any) => {
    console.log('onPayBefore', params);
  },
  onSelectMethod: (params: any) => {
    console.log('onSelectMethod', params);
  },
  onPaySuccess: (params: any) => {
    console.log('onPaySuccess', params);
  },
  onPayError: (params: any) => {
    console.log('onPayError', params);
  },
  payMethodVersion: {
    ABCPAY: {
      name: 'ABCPAY',
      version: '8.3.46.1',
    },
    UNIONPAY: {
      name: 'UNIONPAY',
      version: '9.0.42',
    },
    SPDBPAY: {
      name: 'SPDBPAY',
      version: '6.0.22',
    },
    CCBSTAPAY: {
      name: 'CCBSTAPAY',
      version: '8.0.22',
    },
    BOCPAY: {
      name: 'BOCPAY',
      version: '0.0.22',
    },
  },
});
import { useInitPayPopup } from '@activity-maker/popup-checkstand';

const { destroy, popPay, cancelOrder } = useInitPayPopup({
  onClose: () => {},
});

popPay({
  orderItems: utilFun.getOrderItems({
    itemId: params.id,
    quantity: 1,
  }),
  context: params.context,
  promotionItems: params.promotionItems,
  onPlaceOrderFail: (_errCode: string | number, errMsg: string) => {},
  onPaySuccess: () => {},
  payMethodVersion: {},
});

支付方式

  • 'WXPAY' 微信支付
  • 'ALIPAY' 支付宝
  • 'XIDIAN' 喜点
  • 'PCREDIT' 花呗
  • 'CCBPAY' 建行
  • 'jdPay' 京东支付 TODO: 暂时不展示
  • 'ABCPAY' 农行支付
  • 'UNIONPAY' 银联支付
  • 'SPDBPAY' 浦发支付
  • 'DCPAY' 数字货币
  • 'CCBSTAPAY' 建行二三类户
  • 'BOCPAY' 中国银行
  • 'CMHBPAY' 和包支付