Hi

fetch orders in razorpay with multiple receipt numbers in c#

 using System;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Threading.Tasks;

using Newtonsoft.Json;


class Program

{

    static async Task Main(string[] args)

    {

        // Set your Razorpay API key here

        string razorpayApiKey = "YOUR_RAZORPAY_API_KEY";


        // List of receipt numbers

        string[] receiptNumbers = { "receipt_1", "receipt_2", "receipt_3" };


        foreach (var receiptNumber in receiptNumbers)

        {

            var order = await GetOrderAsync(razorpayApiKey, receiptNumber);

            if (order != null)

            {

                Console.WriteLine($"Order for receipt {receiptNumber}:");

                Console.WriteLine($"Order ID: {order.Id}");

                Console.WriteLine($"Amount: {order.Amount}");

                // Print other relevant order details

                Console.WriteLine();

            }

            else

            {

                Console.WriteLine($"Order for receipt {receiptNumber} not found.");

            }

        }

    }


    static async Task<OrderResponse> GetOrderAsync(string apiKey, string receiptNumber)

    {

        using (HttpClient httpClient = new HttpClient())

        {

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{apiKey}:")));


            string apiUrl = $"https://api.razorpay.com/v1/orders?receipt={receiptNumber}";


            HttpResponseMessage response = await httpClient.GetAsync(apiUrl);

            if (response.IsSuccessStatusCode)

            {

                string responseContent = await response.Content.ReadAsStringAsync();

                OrderResponse order = JsonConvert.DeserializeObject<OrderResponse>(responseContent);

                return order;

            }

            else

            {

                Console.WriteLine($"Error fetching order for receipt {receiptNumber}: {response.StatusCode} - {response.ReasonPhrase}");

                return null;

            }

        }

    }

}


public class OrderResponse

{

    public string Id { get; set; }

    public int Amount { get; set; }

    // Add other relevant properties here

}


Previous
Next Post »