|
|
@@ -29,13 +29,16 @@ class PaymentStatusManager {
|
|
|
final _lock = Lock();
|
|
|
|
|
|
void _startCheckPolling(
|
|
|
- String orderNo, PaymentWay paymentWay, StoreItem storeItemBean) async {
|
|
|
+ String orderNo, PaymentWay paymentWay, StoreItem storeItemBean,
|
|
|
+ {String? receiptData}) async {
|
|
|
await _lock.synchronized(() async {
|
|
|
pollingSubscriptionMap[orderNo]?.cancel();
|
|
|
debugPrint('开始轮询支付状态: orderNo = $orderNo');
|
|
|
CancelableFuture orderFuture = AsyncUtil.retryWithExponentialBackoff(
|
|
|
() {
|
|
|
- return storeRepository.orderStatus(orderNo).then((status) {
|
|
|
+ return storeRepository
|
|
|
+ .orderStatus(orderNo, receiptData: receiptData)
|
|
|
+ .then((status) {
|
|
|
if (status == payStatusSuccess) {
|
|
|
return true;
|
|
|
} else {
|
|
|
@@ -68,15 +71,17 @@ class PaymentStatusManager {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- void reportPaySuccess(int price, String orderId, String itemName,
|
|
|
- int paymentWay) {
|
|
|
+ void reportPaySuccess(
|
|
|
+ int price, String orderId, String itemName, int paymentWay) {
|
|
|
GravityHelper.reportPay(price, orderId, itemName, paymentWay);
|
|
|
}
|
|
|
|
|
|
void checkPaymentStatus(
|
|
|
- String orderNo, PaymentWay paymentWay, StoreItem storeItemBean) {
|
|
|
+ String orderNo, PaymentWay paymentWay, StoreItem storeItemBean,
|
|
|
+ {String? receiptData}) {
|
|
|
// recordKeyInfoToDisk(orderNo, paymentWay, storeItemBean);
|
|
|
- _startCheckPolling(orderNo, paymentWay, storeItemBean);
|
|
|
+ _startCheckPolling(orderNo, paymentWay, storeItemBean,
|
|
|
+ receiptData: receiptData);
|
|
|
}
|
|
|
|
|
|
void registerPaymentSuccessCallback(
|