AlipayHostApiImpl.ets
1.12 KB
import {
AlipayHostApi, AliPayResultCode, FlutterError, Result as PigeonResult,
} from '../pigeon/AlipayApi';
import { Pay } from '@cashier_alipay/cashiersdk';
const ALIPAY_APP_ID = '2021006185683254';
/**
* Alipay SDK bridge for HarmonyOS.
*
* `prepayData` is an order string produced and signed by the server. Do not
* construct or sign it in the app: the order string contains the Alipay App ID
* (2021006185683254) and must be signed with the merchant private key.
*/
export class AlipayHostApiImpl extends AlipayHostApi {
launchAliPay(
prepayData: string,
callback: PigeonResult<AliPayResultCode>,
): void {
console.log("------", "launchAliPay prepayData: " + prepayData)
new Pay().pay(prepayData, true).then((result) => {
switch (result.get('resultStatus')) {
case '9000':
callback.success(AliPayResultCode.SUCCESS);
return;
case '6001':
callback.success(AliPayResultCode.CANCEL);
return;
default:
callback.success(AliPayResultCode.ERROR);
return;
}
}).catch(() => callback.success(AliPayResultCode.ERROR));
}
}