Payment Flow¶
Basic payment process with CibPay SDK.
Payment Steps¶
1. Create Order¶
var request = new CreateOrderRequest
{
Amount = 99.99m,
Currency = "AZN",
Options = new Options
{
ReturnUrl = "https://yoursite.com/payment/return",
AutoCharge = true
}
};
var order = await client.Orders.CreateAsync(request);
2. Redirect to Payment¶
// Redirect customer to CibPay payment page
var paymentUrl = $"{basePaymentUrl}{order.Data.Id}";
return Redirect(paymentUrl);
3. Handle Return¶
[HttpGet("payment/return")]
public async Task<IActionResult> PaymentReturn(string orderId)
{
var order = await client.Orders.GetAsync(orderId);
return order.Data.Status switch
{
OrderStatuses.Charged => RedirectToAction("Success"),
OrderStatuses.Declined => RedirectToAction("Failed"),
_ => RedirectToAction("Pending")
};
}
Payment Options¶
3D Secure¶
var options = new Options
{
Force3d = 1, // Force 3D Secure authentication
AutoCharge = true
};
Manual vs Auto Charge¶
- AutoCharge = true: Automatically charge after authorization
- AutoCharge = false: Manual charge required after authorization
Return URL Best Practices¶
- Use HTTPS for security
- Include your order reference in URL parameters
- Handle both success and failure scenarios