جزئیات محصول

دانلود کد پیاده‌سازی فرم پرداخت آنلاین با درگاه‌های پرداخت با ASP.NET Web Form

دانلود کد پیاده‌سازی فرم پرداخت آنلاین با درگاه‌های پرداخت با ASP.NET Web Form

قیمت: 35,000 تومان

خرید فایل


مشاهده پیشنمایش

پیشنمایش برای محصولاتی که نیاز به نمایش دمو دارند می باشد

 پیاده‌سازی یک فرم پرداخت آنلاین با درگاه‌های پرداخت در ASP.NET Web Forms شامل چند مرحله است. برای این کار، شما باید یک فرم پرداخت طراحی کنید، اطلاعات کاربر را جمع‌آوری کنید، و سپس اطلاعات را به درگاه پرداخت ارسال کنید. در اینجا یک راهنمای کلی برای پیاده‌سازی این سیستم ارائه می‌شود.

 
### مراحل پیاده‌سازی
 
#### 1. انتخاب درگاه پرداخت
 
برای پیاده‌سازی پرداخت آنلاین، ابتدا باید یک درگاه پرداخت انتخاب کنید. برخی از درگاه‌های محبوب شامل:
- زرین‌پال
- سامان‌کارت
- ملّی‌پرداخت
 
به عنوان مثال، در اینجا نحوه پیاده‌سازی با زرین‌پال را بررسی می‌کنیم.
 
#### 2. طراحی پایگاه داده (اختیاری)
 
در صورت نیاز می‌توانید یک جدول برای ذخیره اطلاعات پرداخت‌ها طراحی کنید:
 
```sql
CREATE TABLE Payments (
    PaymentID INT IDENTITY(1,1) PRIMARY KEY,
    Amount DECIMAL(10, 2) NOT NULL,
    Status NVARCHAR(50) NOT NULL,
    PaymentDate DATETIME NOT NULL DEFAULT GETDATE()
);
```
 
#### 3. ایجاد پروژه ASP.NET Web Forms
 
یک پروژه جدید ASP.NET Web Forms در Visual Studio ایجاد کنید.
 
#### 4. طراحی صفحه `Payment.aspx`
 
صفحه‌ای برای جمع‌آوری اطلاعات پرداخت از کاربر ایجاد کنید.
 
```aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Payment.aspx.cs" Inherits="YourNamespace.Payment" %>
    پرداخت آنلاین
   
   
       
           

فرم پرداخت آنلاین

           
               
               
           
           
           
       
   
```
 
#### 5. کد بی‌هند (Code-Behind برای `Payment.aspx.cs`)
 
در این کد، اطلاعات پرداخت را به درگاه پرداخت ارسال می‌کنیم.
 
```csharp
using System;
using System.Configuration;
using System.Net;
using System.IO;
using System.Web.Script.Serialization;
 
namespace YourNamespace
{
    public partial class Payment : System.Web.UI.Page
    {
        protected void btnPay_Click(object sender, EventArgs e)
        {
            string amount = txtAmount.Text;
            string merchantID = "YOUR_MERCHANT_ID"; // کد پذیرنده
            string callbackUrl = "http://yourdomain.com/PaymentResponse.aspx"; // آدرس بازگشت پس از پرداخت
 
            // درخواست به زرین‌پال
            var paymentRequest = new
            {
                MerchantID = merchantID,
                Amount = Convert.ToInt32(amount),
                CallbackURL = callbackUrl
            };
 
            var json = new JavaScriptSerializer().Serialize(paymentRequest);
            var data = new StringContent(json, Encoding.UTF8, "application/json");
 
            // ارسال درخواست
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://api.zarinpal.com/pg/v4/payment/request.json");
                var response = client.PostAsync("", data).Result;
 
                if (response.IsSuccessStatusCode)
                {
                    var responseJson = response.Content.ReadAsStringAsync().Result;
                    dynamic responseData = new JavaScriptSerializer().Deserialize(responseJson);
                    
                    // چک کردن وضعیت و redirect به درگاه
                    if (responseData["data"]["code"] == 100)
                    {
                        string authority = responseData["data"]["authority"];
                        Response.Redirect("https://www.zarinpal.com/pg/StartPay/" + authority);
                    }
                    else
                    {
                        lblStatusMessage.Text = "خطا در پرداخت: " + responseData["data"]["message"];
                    }
                }
            }
        }
    }
}
```
 
### 6. صفحه پاسخ (`PaymentResponse.aspx`)
 
این صفحه برای دریافت اطلاعات پرداخت پس از بازگشت از درگاه پرداخت استفاده می‌شود.
 
```aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PaymentResponse.aspx.cs" Inherits="YourNamespace.PaymentResponse" %>
    نتیجه پرداخت
   
       
           

نتیجه پرداخت

           
       
   
```
 
### 7. کد بی‌هند برای صفحه پاسخ (`PaymentResponse.aspx.cs`)
 
در این کد، وضعیت پرداخت را بررسی کرده و در صورت موفقیت، اطلاعات را در پایگاه داده ذخیره می‌کنیم.
 
```csharp
using System;
using System.Configuration;
using System.Data.SqlClient;
 
namespace YourNamespace
{
    public partial class PaymentResponse : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string authority = Request.QueryString["Authority"];
            string status = Request.QueryString["Status"];
 
            if (status == "OK")
            {
                // بررسی وضعیت پرداخت از زرین‌پال
                VerifyPayment(authority);
            }
            else
            {
                lblResult.Text = "پرداخت ناموفق بود.";
            }
        }
 
        private void VerifyPayment(string authority)
        {
            string merchantID = "YOUR_MERCHANT_ID"; // کد پذیرنده
            var paymentVerificationRequest = new
            {
                MerchantID = merchantID,
                Authority = authority,
                Amount = 1000 // مقدار پرداخت (به تومان)
            };
 
            var json = new JavaScriptSerializer().Serialize(paymentVerificationRequest);
            var data = new StringContent(json, Encoding.UTF8, "application/json");
 
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://api.zarinpal.com/pg/v4/payment/verify.json");
                var response = client.PostAsync("", data).Result;
 
                if (response.IsSuccessStatusCode)
                {
                    var responseJson = response.Content.ReadAsStringAsync().Result;
                    dynamic responseData = new JavaScriptSerializer().Deserialize(responseJson);
                    
                    if (responseData["data"]["code"] == 100)
                    {
                        // پرداخت موفق بود
                        lblResult.Text = "پرداخت موفق!";
                        SavePaymentInfo(1000, "موفق"); // ذخیره اطلاعات پرداخت
                    }
                    else
                    {
                        lblResult.Text = "خطا در پرداخت: " + responseData["data"]["message"];
                    }
                }
            }
        }
 
        private void SavePaymentInfo(decimal amount, string status)
        {
            string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string query = "INSERT INTO Payments (Amount, Status) VALUES (@Amount, @Status)";
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    command.Parameters.AddWithValue("@Amount", amount);
                    command.Parameters.AddWithValue("@Status", status);
                    connection.Open();
                    command.ExecuteNonQuery();
                }
            }
        }
    }
}
```
 
### 8. تنظیمات Web.config
 
اطمینان حاصل کنید که رشته اتصال به پایگاه داده در فایل `Web.config` به درستی تنظیم شده است:
 
```xml
 
   
 
```
 
### 9. اجرای پروژه
 
پس از انجام مراحل فوق، پروژه را اجرا کنید. شما باید بتوانید پرداخت آنلاین را با درگاه پرداخت زرین‌پال انجام دهید و نتیجه آن را مشاهده کنید.
 
### نکات اضافی
 
1. **ایمن‌سازی اطلاعات**: اطمینان حاصل کنید که اطلاعات حساس مانند رمز عبور در هنگام ذخیره‌سازی به‌درستی ایمن‌سازی شده‌اند.
 
2. **آزمون پرداخت**: قبل از ورود به محیط واقعی، از حالت تست درگاه پرداخت استفاده کنید تا اطمینان حاصل کنید که همه چیز به‌درستی کار می‌کند.
 
3. **مستندات درگاه پرداخت**: مستندات مربوط به درگاه پرداخت انتخابی خود را مطالعه کنید تا از نحوه ارسال و دریافت اطلاعات آگاه شوید.
 
این یک نمونه ساده برای پیاده‌سازی فرم پرداخت آنلاین با درگاه‌های پرداخت در ASP.NET Web Forms است که می‌تواند بر اساس نیازهای خاص شما گسترش یابد.
| صفحه قابل مشاهده: دانلود کد پیاده‌سازی فرم پرداخت آنلاین با درگاه‌های پرداخت با ASP.NET Web Form می‌باشد