feat: switch mini program recharge to virtual payment
This commit is contained in:
@@ -76,6 +76,7 @@ import type {
|
||||
ProfileWalletLedgerResponse,
|
||||
RedeemProfileRewardCodeResponse,
|
||||
WechatMiniProgramPayParams,
|
||||
WechatMiniProgramVirtualPayParams,
|
||||
WechatNativePayment,
|
||||
} from '../../../packages/shared/src/contracts/runtime';
|
||||
import { isMatch3DDemoProfileId } from '../../data/match3dDemoGalleryCard';
|
||||
@@ -89,10 +90,10 @@ import {
|
||||
} from '../../services/authService';
|
||||
import { copyTextToClipboard } from '../../services/clipboard';
|
||||
import {
|
||||
resolveProfileRechargePaymentChannel,
|
||||
resolveProfileRechargeProductPaymentChannel,
|
||||
shouldShowRechargeEntry,
|
||||
WECHAT_H5_PAYMENT_CHANNEL,
|
||||
WECHAT_MINI_PROGRAM_PAYMENT_CHANNEL,
|
||||
WECHAT_MINI_PROGRAM_VIRTUAL_PAYMENT_CHANNEL,
|
||||
WECHAT_NATIVE_PAYMENT_CHANNEL,
|
||||
} from '../../services/payment/paymentPlatform';
|
||||
import { redirectToPaymentUrl } from '../../services/payment/paymentRedirect';
|
||||
@@ -2740,7 +2741,11 @@ function loadWechatJsSdk() {
|
||||
}
|
||||
|
||||
async function requestWechatMiniProgramPayment(
|
||||
payload: WechatMiniProgramPayParams | null | undefined,
|
||||
payload:
|
||||
| WechatMiniProgramPayParams
|
||||
| WechatMiniProgramVirtualPayParams
|
||||
| null
|
||||
| undefined,
|
||||
orderId: string,
|
||||
): Promise<void> {
|
||||
if (!payload) {
|
||||
@@ -4664,14 +4669,17 @@ export function RpgEntryHomeView({
|
||||
return;
|
||||
}
|
||||
|
||||
const paymentChannel = resolveProfileRechargePaymentChannel();
|
||||
const paymentChannel = resolveProfileRechargeProductPaymentChannel(
|
||||
{ kind: product.kind },
|
||||
{},
|
||||
);
|
||||
setSubmittingRechargeProductId(product.productId);
|
||||
setRechargeError(null);
|
||||
setRechargePaymentResult(null);
|
||||
setNativeWechatPayment(null);
|
||||
void createRpgProfileRechargeOrder(product.productId, paymentChannel)
|
||||
.then(async (response) => {
|
||||
if (paymentChannel === WECHAT_MINI_PROGRAM_PAYMENT_CHANNEL) {
|
||||
if (paymentChannel === WECHAT_MINI_PROGRAM_VIRTUAL_PAYMENT_CHANNEL) {
|
||||
pendingWechatRechargeOrderIdRef.current = response.order.orderId;
|
||||
await requestWechatMiniProgramPayment(
|
||||
response.wechatMiniProgramPayParams,
|
||||
|
||||
Reference in New Issue
Block a user