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.

35 lines (32 loc) 1.08 kB
import { memo, useEffect } from 'react'; var MAlipayAutoSubmit = function MAlipayAutoSubmit(_ref) { var formHtml = _ref.formHtml; useEffect(function () { // 1. 移除之前的表单 var oldForm = document.getElementById('alipaysubmit'); if (oldForm && oldForm.parentNode) { oldForm.parentNode.removeChild(oldForm); } // 2. 创建一个 div 容器,插入 form 字符串 var div = document.createElement('div'); div.innerHTML = formHtml; // 3. 获取 form 元素 var form = div.querySelector('form#alipaysubmit'); if (form) { form.acceptCharset = 'UTF-8'; document.body.appendChild(form); setTimeout(function () { form.submit(); }, 100); } // 4. 卸载时 return function () { var existForm = document.getElementById('alipaysubmit'); if (existForm && existForm.parentNode) { existForm.parentNode.removeChild(existForm); } }; }, [formHtml]); return null; // 这个组件不渲染任何内容 }; export default /*#__PURE__*/memo(MAlipayAutoSubmit);