تقنية

كيفية قبول الدفعات عبر الإنترنت باستخدام Zoho Payments


تعرّف على كيفية إنشاء صفحة دفع بسيطة وقبول الدفعات على موقع الويب الخاص بك باستخدام Zoho Payments. يمكن للعملاء الدفع لك باستخدام UPI وبطاقات الائتمان.

Zoho Payments هي بوابة دفع جديدة تتيح لك قبول المدفوعات على موقع الويب الخاص بك. يمكنك زيارة هذا المتجر النموذجي لرؤية أداة Zoho Payments أثناء العمل.




على عكس Stripe أو RazorPay التي تعد بوابات دفع أكثر نضجًا، تدعم Zoho Payments فقط المدفوعات المحلية بالروبية الهندية (₹). في الإصدار الأولي، يمكن للتجار قبول الدفعات لمرة واحدة فقط ويمكن للعملاء الدفع لك باستخدام UPI وNet Banking وبطاقات الائتمان.

تعتبر عملية الإعداد بسيطة، وبمجرد قيامك بتحميل مستندات KYC الخاصة بك، تتم الموافقة على حسابك في غضون أيام عمل قليلة. لا توجد رسوم معاملات لمدفوعات UPI بينما تخضع معاملات بطاقات الائتمان لرسوم قدرها 2% (باستثناء ضريبة السلع والخدمات)

كيفية قبول المدفوعات باستخدام Zoho Payments

في هذا البرنامج التعليمي، سننشئ صفحة دفع بسيطة في Google Apps Script ونقبل الدفعات على موقعنا الإلكتروني باستخدام Zoho Payments.


Zoho Payments - معرف الحساب ومفتاح واجهة برمجة التطبيقات

بافتراض أنك قمت بالتسجيل في Zoho Payments، يمكنك زيارة لوحة المعلومات للعثور على “معرف الحساب” الخاص بك. بعد ذلك، انتقل إلى الإعدادات > مساحة المطور للعثور على “مفتاح واجهة برمجة التطبيقات” (API Key).

إعداد البرنامج النصي لتطبيقات Google

افتح مشروع Google Script وقم بعمل نسخة في Google Drive.


انسخ البرنامج النصي لتطبيقات Google

داخل محرر Apps Script، انتقل إلى القائمة المنسدلة للوظيفة وحددها printZohoPaymentsRedirectUrl. قم بتشغيل البرنامج النصي وسترى عنوان URL في نافذة وحدة التحكم.

انتقل إلى Zoho API Console api-console.zoho.in وأضف عميلاً جديدًا. تعيين Client Type ل Server-based Applications والصق عنوان URL لإعادة التوجيه من الخطوة السابقة في ملف Authorized Redirect URLs مجال. امنح تطبيقك اسمًا مثل MyPaymentsApp وانقر على Create. قم بتدوين ملاحظة Client ID و Client Secret كما سنحتاج إليها في الخطوة التالية.


وحدة تحكم Zoho API

ارجع إلى محرر Apps Script والصق ملف Client ID و Client Secret في المتغيرات المقابلة. ستحتاج أيضًا إلى لصق ملفك Account ID و API Key في الكود.

بعد ذلك، قم بتشغيل printZohoPaymentsAuthUrl وظيفة لإنشاء عنوان URL للترخيص. افتح عنوان URL في علامة تبويب جديدة، واسمح للتطبيق بالوصول إلى بيانات Zoho Payments الخاصة بك وستظهر لك رسالة نجاح. نحن نقتصر على نطاق التطبيق ل ZohoPay.payments.CREATE بحيث يمكن لتطبيقنا إنشاء الدفعات فقط ولكن لا يمكنه قراءة أو تحديث أي بيانات أخرى.

بمجرد الموافقة على التطبيق، انقر فوق Deploy زر وحدد New Deployment. حدد النوع كما Web app، قم بتعيين Execute as ل Me و Who has access ل Anyone. انقر فوق Deploy وستحصل على عنوان URL لصفحة مدفوعات الويب الخاصة بك. يمكن لأي شخص الآن إجراء الدفع عن طريق زيارة عنوان URL هذا.

التفاصيل الفنية

يستخدم التطبيق مكتبة OAuth2 للتعامل مع عملية التفويض وإنشاء رمز الوصول للاتصال بواجهة برمجة تطبيقات Zoho Payments.

const getZohoPaymentsService_ = () => {
  return OAuth2.createService(ZOHO_SERVICE_NAME)
    .setAuthorizationBaseUrl('https://accounts.zoho.in/oauth/v2/auth')
    .setTokenUrl('https://accounts.zoho.in/oauth/v2/token')
    .setClientId(ZOHO_PAYMENTS_CLIENT_ID)
    .setClientSecret(ZOHO_PAYMENTS_CLIENT_SECRET)
    .setCallbackFunction('zohoOauthCallback')
    .setPropertyStore(PropertiesService.getScriptProperties())
    .setCache(CacheService.getScriptCache())
    .setParam('response_type', 'code')
    .setScope('ZohoPay.payments.CREATE')
    .setParam('access_type', 'offline')
    .setParam('prompt', 'consent');
};

ال createZohoPaymentSession يتم استخدام الوظيفة لإنشاء جلسة دفع جديدة. يأخذ المبلغ كمعلمة ويعيد تفاصيل جلسة الدفع التي يتم تمريرها بعد ذلك إلى أداة Zoho Payments من جانب العميل.

const createZohoPaymentSession = (amount) => {
  const service = getZohoPaymentsService_();
  const baseUrl = 'https://payments.zoho.in/api/v1';
  const apiUrl = `${baseUrl}/paymentsessions?account_id=${ZOHO_PAYMENTS_ACCOUNT_ID}`;
  const response = UrlFetchApp.fetch(apiUrl, {
    method: 'post',
    payload: JSON.stringify({ amount, currency: 'INR' }),
    headers: {
      Authorization: `Zoho-oauthtoken ${service.getAccessToken()}`,
      'Content-Type': 'application/json',
    },
    muteHttpExceptions: true,
  });
  const result = JSON.parse(response.getContentText());
  const { message, payments_session } = result;
  return message === 'success'
    ? {
        account_id: ZOHO_PAYMENTS_ACCOUNT_ID,
        api_key: ZOHO_ACCOUNT_API_KEY,
        merchant_name: ZOHO_MERCHANT_NAME,
        session_id: payments_session.payments_session_id,
        order_amount: payments_session.amount,
      }
    : { error: message };
};

يمكنك العثور على الكود الكامل على GitHub.


مدفوعات زوهو



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى