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
JavaScript
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);