كيفية قبول الدفعات عبر الإنترنت باستخدام 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، يمكنك زيارة لوحة المعلومات للعثور على “معرف الحساب” الخاص بك. بعد ذلك، انتقل إلى الإعدادات > مساحة المطور للعثور على “مفتاح واجهة برمجة التطبيقات” (API Key).
إعداد البرنامج النصي لتطبيقات Google
افتح مشروع Google Script وقم بعمل نسخة في Google Drive.
داخل محرر 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
كما سنحتاج إليها في الخطوة التالية.
ارجع إلى محرر 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.
اكتشاف المزيد من مرابع التكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.