تكامل Braintree للدفع: دليل Drop-in UI والتنفيذ المخصص
تكامل Braintree الكامل يغطي Drop-in UI و hosted fields و PayPal و Venmo و vault للمدفوعات المتكررة وأنماط النشر الإنتاجي للأسواق وأعمال الاشتراكات.
جدول المحتويات
- لماذا Braintree
- إعداد جانب الخادم
- تكامل Drop-in UI
- Hosted Fields للواجهة المخصصة
- تكامل PayPal و Venmo
- Vault للمدفوعات المتكررة
لماذا Braintree
Braintree (مملوكة لـ PayPal) تقدم مزايا فريدة:
- تكامل PayPal أصلي - دفع PayPal سلس
- دعم Venmo - محفظة الجوال الأمريكية
- Vault - تخزين الرموز للمدفوعات المتكررة
- دعم الأسواق - مدفوعات مقسمة جاهزة
- انتشار عالمي - 45+ دولة، 130+ عملة
إعداد جانب الخادم
import braintree from 'braintree'; export const gateway = new braintree.BraintreeGateway({ environment: process.env.NODE_ENV === 'production' ? braintree.Environment.Production : braintree.Environment.Sandbox, merchantId: process.env.BRAINTREE_MERCHANT_ID!, publicKey: process.env.BRAINTREE_PUBLIC_KEY!, privateKey: process.env.BRAINTREE_PRIVATE_KEY!, });
تكامل Drop-in UI
export function BraintreeDropIn({ clientToken, amount, onSuccess }) { const dropinInstance = useRef(null); useEffect(() => { const init = async () => { const instance = await dropin.create({ authorization: clientToken, container: '#dropin-container', paypal: { flow: 'checkout', amount: amount.toFixed(2) }, venmo: { allowNewBrowserTab: false }, }); dropinInstance.current = instance; }; init(); }, [clientToken]); const handlePayment = async () => { const { nonce } = await dropinInstance.current.requestPaymentMethod(); // أرسل nonce للخادم }; return ( <div> <div id="dropin-container" /> <button onClick={handlePayment}>ادفع الآن</button> </div> ); }
Vault للمدفوعات المتكررة
// إنشاء عميل مع طريقة دفع محفوظة async createCustomerWithPaymentMethod(params) { const result = await gateway.customer.create({ email: params.email, paymentMethodNonce: params.paymentMethodNonce, }); return { customerId: result.customer.id, paymentMethodToken: result.customer.paymentMethods[0].token, }; } // شحن طريقة الدفع المحفوظة async chargeVaultedPaymentMethod(params) { const result = await gateway.transaction.sale({ amount: params.amount.toFixed(2), paymentMethodToken: params.paymentMethodToken, options: { submitForSettlement: true }, }); return { success: result.success, transactionId: result.transaction?.id }; }
الخلاصة
Braintree يتفوق في:
- تكامل PayPal - تجربة أصلية سلسة
- مدفوعات الأسواق - مدفوعات مقسمة مدمجة
- الفوترة المتكررة - Vault + اشتراكات
- السوق الأمريكي - دعم Venmo
مقالات ذات صلة
تكامل بوابات الدفعقراءة 28 دقيقة
تكامل PayPal مع React و Node.js: دليل Orders API و Smart Buttons
تكامل PayPal مع Orders API و Smart Buttons. يغطي إعداد webhooks ومدفوعات الاشتراك وأنماط معالجة الأخطاء الحقيقية من الإنتاج.
تكامل بوابات الدفعقراءة 32 دقيقة
تكامل Stripe مع React و Node.js: Payment Intents و Webhooks و 3D Secure
تكامل Stripe الإنتاجي مع Payment Intents و webhooks و 3D Secure. يغطي فواتير الاشتراكات ومعالجة الأخطاء وأنماط امتثال PCI.
هندسة الأمانقراءة 20 دقيقة
قائمة فحص أمان API: Rate Limiting والتحقق من المدخلات وتكوين CORS
تأمين APIs مع rate limiting والتحقق من المدخلات وتكوين CORS. قائمة فحص مختبرة إنتاجياً تغطي المصادقة والتشفير ومعالجة الأخطاء.
هندسة الأمانقراءة 23 دقيقة
أفضل ممارسات مصادقة JWT: Refresh Tokens و RBAC و OAuth 2.0
تنفيذ مصادقة JWT آمنة مع تدوير refresh token و RBAC وتدفقات OAuth 2.0. أنماط إنتاجية من أنظمة الرعاية الصحية والحكومة.