برنامه نویسی

ساده کردن پرداخت ها با Pay Gem: راهنمای استفاده از Stripe در Rails

Summarize this content to 400 words in Persian Lang
یکپارچه سازی پرداخت می تواند هنگام ساخت برنامه های وب چالش برانگیز باشد. جم Pay مدیریت اشتراک و پرداخت را در برنامه های Rails بسیار آسان می کند. برای مدیریت پرداخت ها، برنامه ها را با Stripe، Paddle، Braintree یا Lemon Squeezy ادغام می کند. در این مقاله یکی را مرور می کنیم و در عمل نحوه عملکرد آن را توضیح می دهیم و سپس با استفاده از یک مثال ساده آن را تنظیم می کنیم.

پرداخت چیست؟

The Pay Gem کتابخانه ای برای رسیدگی به پرداخت ها و اشتراک ها در Rails است. بسیاری از وظایف رایج را انتزاع می کند، مانند:

ایجاد و مدیریت سوابق مشتری در Stripe.
رسیدگی به اشتراک ها، فاکتورها و روش های پرداخت.
مدیریت وب هوک ها برای به روز رسانی پرداخت در زمان واقعی.

به جای نوشتن کد سفارشی برای تعامل با Stripe API، Pay یک رابط Rails-friendly ارائه می دهد که باعث صرفه جویی در زمان و کاهش پیچیدگی می شود.

پرداخت چگونه کار می کند؟

Pay با مدل‌های Rails شما ادغام می‌شود تا پرداخت‌ها و اشتراک‌ها را انجام دهد. به عنوان مثال، می توانید یک رابطه pay_customer را به مدل User خود اضافه کنید و به هر کاربر اجازه دهید پرداخت های خود را مدیریت کند. Pay همچنین به وب‌قلاب‌ها از Stripe گوش می‌دهد، بنابراین وقتی پرداخت‌ها انجام می‌شود یا اشتراک‌ها تغییر می‌کنند، برنامه شما به‌روزرسانی می‌شود.

تنظیم پرداخت برای Stripe

در اینجا نحوه شروع به کار آمده است:

1. Gem را نصب کنید

Pay را به Gemfile خود اضافه کنید و آن را نصب کنید:

gem ‘pay’

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

را اجرا کنید bundle install دستور نصب آن:

bundle install

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. Pay را پیکربندی کنید

مولد را اجرا کنید تا انتقالات و پیکربندی Pay را تنظیم کنید:

rails generate pay:install
rails db:migrate

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ایجاد شده را ویرایش کنید config/initializers/pay.rb فایل برای فعال کردن Stripe:

Pay.setup do |config|
config.adapters = [:stripe] # Add Stripe as the payment adapter
config.default_product_name = “My Awesome App”
config.default_plan_name = “default-plan”
end

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کلیدهای Stripe خود را در متغیرهای محیط یا credentials.yml.enc:

stripe:
public_key: pk_live_12345
secret_key: sk_live_12345
webhook_secret: whsec_12345

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. Pay را به مدل های خود وصل کنید

در مدل کاربر خود، را اضافه کنید Pay::Billable ماژول با استفاده از pay_customer روش:

class User < ApplicationRecord
pay_customer
end

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این به کاربران اجازه می دهد تا روش های پرداخت، اشتراک و فاکتورها را داشته باشند.

4. Stripe Webhooks را راه اندازی کنید

برای مدیریت به‌روزرسانی‌های بلادرنگ از Stripe، یک نقطه پایانی وب هوک راه‌اندازی کنید. این دستور را اجرا کنید:

rails generate pay:webhooks

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این باعث ایجاد یک Pay::Webhooks::StripeController که رویدادهای Stripe را پردازش می کند. URL وب هوک را در داشبورد Stripe، معمولاً در:

https://your-app.com/pay/webhooks/stripe

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال: ایجاد اشتراک

در اینجا یک مثال ساده از نحوه ایجاد اشتراک آورده شده است:

1. یک دکمه برای پرداخت اضافه کنید

از نظر شما، فرمی برای جمع آوری روش پرداخت اضافه کنید:

<%= form_with url: stripe_payment_method_path, method: :post do %>
id=”card-element”>
type=”submit”>Submit Payment
<% end %>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Stripe ابزارهای جاوا اسکریپت را برای مدیریت امن فیلدهای ورودی کارت فراهم می کند.

2. یک روش پرداخت را به کاربر پیوست کنید

در کنترلر:

class StripeController < ApplicationController
def create_payment_method
current_user.payment_processor = :stripe
current_user.payment_processor.save_payment_method(params[:payment_method_id])
redirect_to subscriptions_path, notice: “Payment method saved!”
end
end

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. یک اشتراک ایجاد کنید

اکنون می توانید یک اشتراک برای کاربر ایجاد کنید:

class SubscriptionsController < ApplicationController
def create
current_user.payment_processor.subscribe(plan: “default-plan”)
redirect_to dashboard_path, notice: “Subscription created!”
end
end

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

چگونه پرداخت کارها را ساده می کند

به‌جای تعامل مستقیم با Stripe API، Pay کارهای سنگین را انجام می‌دهد. آن:

روش های پرداخت را ذخیره می کند و مشتریان را به صورت خودکار در Stripe ایجاد می کند.
صورت‌حساب مکرر را از طریق روش‌های اشتراک خود مدیریت می‌کند.
اطمینان حاصل می کند که وب هوک ها برنامه شما را بدون کد سفارشی به روز می کنند.

نتیجه گیری

جواهر Pay ادغام Stripe با Rails را ساده می کند. با انتزاع کردن وظایف رایج پرداخت، به شما امکان می دهد به جای جزئیات پردازش پرداخت، روی ویژگی های برنامه خود تمرکز کنید.

اگر با پرداخت در Rails شروع می‌کنید، از Pay استفاده کنید—این برنامه برای صرفه‌جویی در وقت و پاک‌تر کردن کد شما طراحی شده است.

یکپارچه سازی پرداخت می تواند هنگام ساخت برنامه های وب چالش برانگیز باشد. جم Pay مدیریت اشتراک و پرداخت را در برنامه های Rails بسیار آسان می کند. برای مدیریت پرداخت ها، برنامه ها را با Stripe، Paddle، Braintree یا Lemon Squeezy ادغام می کند. در این مقاله یکی را مرور می کنیم و در عمل نحوه عملکرد آن را توضیح می دهیم و سپس با استفاده از یک مثال ساده آن را تنظیم می کنیم.

پرداخت چیست؟

The Pay Gem کتابخانه ای برای رسیدگی به پرداخت ها و اشتراک ها در Rails است. بسیاری از وظایف رایج را انتزاع می کند، مانند:

  • ایجاد و مدیریت سوابق مشتری در Stripe.
  • رسیدگی به اشتراک ها، فاکتورها و روش های پرداخت.
  • مدیریت وب هوک ها برای به روز رسانی پرداخت در زمان واقعی.

به جای نوشتن کد سفارشی برای تعامل با Stripe API، Pay یک رابط Rails-friendly ارائه می دهد که باعث صرفه جویی در زمان و کاهش پیچیدگی می شود.

پرداخت چگونه کار می کند؟

Pay با مدل‌های Rails شما ادغام می‌شود تا پرداخت‌ها و اشتراک‌ها را انجام دهد. به عنوان مثال، می توانید یک رابطه pay_customer را به مدل User خود اضافه کنید و به هر کاربر اجازه دهید پرداخت های خود را مدیریت کند. Pay همچنین به وب‌قلاب‌ها از Stripe گوش می‌دهد، بنابراین وقتی پرداخت‌ها انجام می‌شود یا اشتراک‌ها تغییر می‌کنند، برنامه شما به‌روزرسانی می‌شود.

تنظیم پرداخت برای Stripe

در اینجا نحوه شروع به کار آمده است:

1. Gem را نصب کنید

Pay را به Gemfile خود اضافه کنید و آن را نصب کنید:

gem 'pay'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

را اجرا کنید bundle install دستور نصب آن:

bundle install
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. Pay را پیکربندی کنید

مولد را اجرا کنید تا انتقالات و پیکربندی Pay را تنظیم کنید:

rails generate pay:install  
rails db:migrate  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ایجاد شده را ویرایش کنید config/initializers/pay.rb فایل برای فعال کردن Stripe:

Pay.setup do |config|
  config.adapters = [:stripe] # Add Stripe as the payment adapter
  config.default_product_name = "My Awesome App"
  config.default_plan_name = "default-plan"
end
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کلیدهای Stripe خود را در متغیرهای محیط یا credentials.yml.enc:

stripe:
  public_key: pk_live_12345
  secret_key: sk_live_12345
  webhook_secret: whsec_12345
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. Pay را به مدل های خود وصل کنید

در مدل کاربر خود، را اضافه کنید Pay::Billable ماژول با استفاده از pay_customer روش:

class User < ApplicationRecord
  pay_customer
end
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این به کاربران اجازه می دهد تا روش های پرداخت، اشتراک و فاکتورها را داشته باشند.

4. Stripe Webhooks را راه اندازی کنید

برای مدیریت به‌روزرسانی‌های بلادرنگ از Stripe، یک نقطه پایانی وب هوک راه‌اندازی کنید. این دستور را اجرا کنید:

rails generate pay:webhooks
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این باعث ایجاد یک Pay::Webhooks::StripeController که رویدادهای Stripe را پردازش می کند. URL وب هوک را در داشبورد Stripe، معمولاً در:

https://your-app.com/pay/webhooks/stripe
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال: ایجاد اشتراک

در اینجا یک مثال ساده از نحوه ایجاد اشتراک آورده شده است:

1. یک دکمه برای پرداخت اضافه کنید

از نظر شما، فرمی برای جمع آوری روش پرداخت اضافه کنید:

<%= form_with url: stripe_payment_method_path, method: :post do %>
  

id="card-element">

<% end %>
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Stripe ابزارهای جاوا اسکریپت را برای مدیریت امن فیلدهای ورودی کارت فراهم می کند.

2. یک روش پرداخت را به کاربر پیوست کنید

در کنترلر:

class StripeController < ApplicationController
  def create_payment_method
    current_user.payment_processor = :stripe
    current_user.payment_processor.save_payment_method(params[:payment_method_id])
    redirect_to subscriptions_path, notice: "Payment method saved!"
  end
end
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. یک اشتراک ایجاد کنید

اکنون می توانید یک اشتراک برای کاربر ایجاد کنید:

class SubscriptionsController < ApplicationController
  def create
    current_user.payment_processor.subscribe(plan: "default-plan")
    redirect_to dashboard_path, notice: "Subscription created!"
  end
end
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

چگونه پرداخت کارها را ساده می کند

به‌جای تعامل مستقیم با Stripe API، Pay کارهای سنگین را انجام می‌دهد. آن:

  • روش های پرداخت را ذخیره می کند و مشتریان را به صورت خودکار در Stripe ایجاد می کند.
  • صورت‌حساب مکرر را از طریق روش‌های اشتراک خود مدیریت می‌کند.
  • اطمینان حاصل می کند که وب هوک ها برنامه شما را بدون کد سفارشی به روز می کنند.

نتیجه گیری

جواهر Pay ادغام Stripe با Rails را ساده می کند. با انتزاع کردن وظایف رایج پرداخت، به شما امکان می دهد به جای جزئیات پردازش پرداخت، روی ویژگی های برنامه خود تمرکز کنید.

اگر با پرداخت در Rails شروع می‌کنید، از Pay استفاده کنید—این برنامه برای صرفه‌جویی در وقت و پاک‌تر کردن کد شما طراحی شده است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا