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 kB
import _extends from "@babel/runtime-corejs3/helpers/esm/extends"; 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'; var PayButton = /*#__PURE__*/React.forwardRef(function (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);