handlePaymentReturn method
Future<InappifySdkResult<InappifyCheckoutResult> >
handlePaymentReturn(
- InappifyPaymentReturnRequest request
inherited
Polls authoritative checkout state after a browser payment return.
Implementation
@override
Future<InappifySdkResult<InappifyCheckoutResult>> handlePaymentReturn(
InappifyPaymentReturnRequest request,
) async {
final cancelled = _preCancelled<InappifyCheckoutResult>(
'handlePaymentReturn',
request.cancellation,
);
if (cancelled != null) return cancelled;
if (request.checkoutId.isEmpty) {
return _invalid<InappifyCheckoutResult>(
'handlePaymentReturn',
'A checkoutId is required.',
);
}
return _run<InappifyCheckoutResult>(
'handlePaymentReturn',
action: () async {
final raw = await _bridge.call(
'handlePaymentReturn',
positionalArguments: <Object?>[
request.checkoutId,
<String, Object?>{
'timeoutMs': request.timeoutMs,
'intervalMs': request.intervalMs,
},
],
cancellation: request.cancellation,
injectAbortSignal: request.cancellation != null,
);
final result = InappifyWebPayloadCodec.checkout(raw);
_recordCheckoutState(result);
return result;
},
cancellation: request.cancellation,
);
}