UNPKG

pay-sdk-react

Version:

A cross-platform payment SDK for React, supporting Alipay, WeChat Pay, PayPal, Stripe, Payssion, and Airwallex, compatible with H5, PC, and App environments.

57 lines 2.21 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import React, { memo } from 'react'; import { PaymentMethod } from '../shared'; import { PaypalButton } from '../Paypal'; import Stripe from '../Stripe'; import Airwallex from '../Airwallex'; import { PayssionButton } from '../Payssion'; import { MWechatButton } from '../MWeChat'; import Alipay from '../Alipay'; import Wechat from '../Wechat'; import MAlipay from '../MAlipay'; const PayButton = /*#__PURE__*/React.forwardRef((props, ref) => { if (props.payMethod === PaymentMethod.PaypalH5 || props.payMethod === PaymentMethod.PaypalPc) { return /*#__PURE__*/React.createElement(PaypalButton, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.StripeH5 || props.payMethod === PaymentMethod.StripePc) { return /*#__PURE__*/React.createElement(Stripe.Button, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.Airwallex) { return /*#__PURE__*/React.createElement(Airwallex.Button, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.Payssion) { return /*#__PURE__*/React.createElement(PayssionButton, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.WechatH5) { return /*#__PURE__*/React.createElement(MWechatButton, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.AlipayH5) { return /*#__PURE__*/React.createElement(MAlipay.Button, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.AlipayPc) { return /*#__PURE__*/React.createElement(Alipay.Button, _extends({ ref: ref }, props)); } if (props.payMethod === PaymentMethod.WechatPc) { return /*#__PURE__*/React.createElement(Wechat.Button, _extends({ ref: ref }, props)); } return null; }); PayButton.displayName = 'PayButton'; export * from './interface'; export default /*#__PURE__*/memo(PayButton);