Back to EIP
Polling Consumer
⋯
service /api/v1 on new http:Listener(8080) {
resource function get payment(string paymentId) returns string|error {
foreach int _ in 0 ..< 10 {
PaypalResponse response = check paypalClient->/v2/payments/authorizations/[paymentId]();
if response.status == CREATED || response.status == PENDING {
runtime:sleep(5); // sleep does not block the underlying thread
} else {
return response.status;
}
}
return error("Payment timed out");
}
}