using OrsunPay;
static string Required(string name) =>
Environment.GetEnvironmentVariable(name) ?? throw new InvalidOperationException(name);
using var client = new OrsunPayClient(
Required("ORSUNPAY_API_KEY"),
Required("ORSUNPAY_MERCHANT_ID"),
new Uri(Required("ORSUNPAY_API_BASE_URL")));
static async Task<string?> GetOrderStatusAsync(
OrsunPayClient client, string orderId, CancellationToken cancellationToken)
{
var result = await client.GetPaymentByOrderAsync(orderId, cancellationToken);
return result.Data["transaction"]?["status"]?.GetValue<string>();
}
var status = await GetOrderStatusAsync(client, "example-order-42", CancellationToken.None);