كيفية استخدام واجهة برمجة تطبيقات اشتراكات PayPal مع Node.js

يستخدم متجر Google الإضافي اشتراكات PayPal مع السلع الرقمية لمعالجة الدفعات المتكررة ويتم إرسال الفواتير إلى العملاء من خلال Document Studio.
هناك خطوتين.
- يقوم العملاء بالدفع وإكمال الطلب على موقعنا.
- يرسل PayPal أ
BILLING.SUBSCRIPTION.ACTIVATEDربط الويب بوظيفة بدون خادم. - تتحقق الوظيفة (التي تعمل على Firebase وGoogle Cloud) من الاشتراك وتتحقق مما إذا كانت الحالة نشطة.
- يقوم باستدعاء Apps Script API لإكمال الطلب.
كانت الوظيفة السحابية تستخدم سابقًا حزمة PayPal SDK الرسمية لـ Node.js ولكن تم إهماله مؤخرًا ولم يعد يدعم نقاط نهاية واجهة برمجة تطبيقات اشتراكات PayPal الجديدة. يعد الترحيل من PayPal Node SDK إلى الحل الخاص بك أمرًا بسيطًا نسبيًا ويتضمن خطوتين:
1. احصل على رمز وصول PayPal
const { default: axios } = require('axios');
const getPayPalAccessToken = async () => {
const client_id = 'PayPal Client ID goes here';
const client_secret = 'PayPal Client Secret goes here';
const options = {
url: 'https://api-m.paypal.com/v1/oauth2/token',
method: 'POST',
headers: {
Accept: 'application/json',
'Accept-Language': 'en_US',
'Content-Type': 'application/x-www-form-urlencoded',
},
auth: {
username: client_id,
password: client_secret,
},
params: {
grant_type: 'client_credentials',
},
};
const { status, data } = await axios(options);
return data.access_token;
};
إذا كنت تخطط لاختبار التكامل مع حساب PayPal المعزول الخاص بك بدلاً من إصدار الإنتاج، فاستبدله api-m.paypal.com في الطلبات مع api-m.sandbox.paypal.com واستخدم بيانات الاعتماد السرية لعميل Sandbox.
2. التحقق من اشتراك باي بال
يقوم الطلب الناجح بإرجاع رمز حالة HTTP 200 OK ونص استجابة JSON.
const { default: axios } = require('axios');
const verifyPayPalSubscription = async (subscription_id) => {
const token = await getPayPalAccessToken();
const options = {
method: 'GET',
url: `https://api-m.paypal.com/v1/billing/subscriptions/${subscription_id}`,
headers: {
Authorization: `Bearer ${token}`,
Accept: 'application/json',
},
};
const { status, data = {} } = await axios(options);
if (status === 200) {
const { subscriber: { email_address } = {}, status } = data;
return status === 'ACTIVE';
}
return false;
};
بمجرد اكتشاف أن اشتراك PayPal نشط، يتم إرسال طلب HTTP إلى Google Apps Script API الذي يرسل الفاتورة والترخيص إلى العميل. يتعلم أكثر.




