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.
40 lines • 1.24 kB
JavaScript
import React, { memo, useEffect, useState } from 'react';
import cs from '../utils/classNames';
import makeQrcode from '../utils/qrcode';
import { getPrefixCls } from '../utils/getPrefixCls';
const classPrefix = getPrefixCls('wechat');
const WechatQrCode = _ref => {
let {
wechatType = 'qrcode',
wechatUrl,
tipText = '请使用微信APP扫码支付',
className,
style
} = _ref;
const [imageUrl, setImageUrl] = useState('');
useEffect(() => {
if (wechatType === 'qrcode') {
makeQrcode(wechatUrl).then(url => {
setImageUrl(url);
});
} else {
setImageUrl(wechatUrl);
}
}, [wechatUrl, wechatType]);
if (!imageUrl) {
return null;
}
return /*#__PURE__*/React.createElement("div", {
className: cs(classPrefix, className),
style: style
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(classPrefix, "__container")
}, /*#__PURE__*/React.createElement("img", {
className: "".concat(classPrefix, "__image"),
src: imageUrl,
alt: '微信支付二维码'
})), tipText && /*#__PURE__*/React.createElement("span", {
className: "".concat(classPrefix, "__tip")
}, tipText));
};
export default /*#__PURE__*/memo(WechatQrCode);