WooCommerce: حسابات شريطية متعددة (محلول)

A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

يتكامل المكون الإضافي WooCommerce تمامًا مع المكون الإضافي WooCommerce Stripe Payment Gateway ، الذي طورته Automattic نفسها. باستخدام هذا البرنامج المساعد المجاني ، يمكن تمكين بوابة الدفع Stripe عبر إعدادات WooCommerce وبمجرد تعيين Stripe ” Live Publishable Key ” و ” Live Secret Key ” ، يكون متجر WooCommerce جاهزًا لتلقي مدفوعات بطاقات الائتمان التي تدعمها Stripe.

الآن ، هناك بعض الوثائق عبر الإنترنت والتي تشرح ، بقليل من التعليمات البرمجية ، كيفية تبديل حساب Stripe برمجيًا ومشروطًا ، أي لمعرّف منتج معين أو شريحة منتج معينة – تمامًا كما رأيناه مؤخرًا مع PayPal Standard ( إليك برنامج تعليمي لاستخدام حسابات PayPal مختلفة داخل تثبيت WooCommerce واحد ). على سبيل المثال ، قد ترغب في استخدام حساب Stripe للمبيعات الرقمية وحساب مختلف للمنتجات المادية.

على عكس PayPal Standard ، ومع ذلك ، فإن الوثائق والمقتطفات عبر الإنترنت قديمة تمامًا وتتطلب ، في كثير من الأحيان ، إنشاء فئة مخصصة والتي تعد دائمًا مهمة صعبة في برمجة PHP. لحسن الحظ ، هناك خطافات WooCommerce Stripe جديدة ، وبالتالي من الممكن استخدام حسابات Stripe مختلفة / متعددة في تثبيت WooCommerce واحد .

يرجى قراءة إخلاء المسؤولية أدناه و – عندها فقط – استمتع!

هدفي هو استخدام مفاتيح Stripe الخاصة بي لجميع المدفوعات بصرف النظر عن معرف المنتج المحدد الذي سيحتاج إلى إيداع الأموال في حساب Stripe مختلف.

مقتطف PHP: استخدم حساب Stripe مختلفًا لمعرف المنتج @ WooCommerce Checkout

إخلاء المسؤولية: المقتطف أدناه قد يسبب آثارًا جانبية – استخدمه على مسؤوليتك الخاصة. على سبيل المثال ، يمكن أن يعبث بمعالجة استرداد Stripe (أفضل إذا قمت بإنشاء المبالغ المستردة يدويًا من Stripe بدلاً من استخدام مسؤول أوامر WooCommerce) أو إنشاء أخطاء أخرى غير معروفة. يعد تخصيص بوابات الدفع أمرًا خطيرًا للغاية ويجب ألا يتم ذلك إلا إذا كنت على دراية بالعواقب المحتملة. يرجى اختبار هذا بدقة.

يرجى ملاحظة: المقتطف أدناه يبحث عن معرّف المنتج داخل الطلب ويقوم بتبديل مفاتيح الشريط إذا نجحت. في حالة احتواء الطلب على العديد من المنتجات ، ستحتاج إلى إيجاد حل بديل ، على سبيل المثال من خلال السماح بمنتج واحد فقط في عربة التسوق .

/**
 * @snippet       Switch Stripe Account @ WooCommerce Checkout
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli, BusinessBloomer.com
 * @testedwith    WooCommerce 4.6
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
// -------------------
// 1. Create function to find Product ID
 
function bbloomer_product_id_in_cart( $id ) {
   $product_cart_id = WC()->cart->generate_cart_id( $id );
   $in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
   if ( $in_cart ) return true;
   return false;
}
 
// -------------------
// 2. Change Stripe keys on the go
 
add_filter( 'wc_stripe_params', 'bbloomer_conditional_publishable_key', 9999 );
 
function bbloomer_conditional_publishable_key( $params ) {
 
   // PRODUCT ID HERE
   if ( ! bbloomer_product_id_in_cart( 12345 ) ) return $params;
 
   // STRIPE Live Publishable Key HERE
   $params[ 'key' ] = 'pk_live_................';
 
   return $params;
}
 
add_filter( 'wc_stripe_payment_request_params', 'bbloomer_conditional_publishable_key_request', 9999 );
 
function bbloomer_conditional_publishable_key_request( $params ) {
 
   // PRODUCT ID HERE
   if ( ! bbloomer_product_id_in_cart( 12345 ) ) return $params;
 
   // STRIPE Live Publishable Key HERE
   $params[ 'stripe' ][ 'key' ] = 'pk_live_................';
 
   return $params;
}
 
add_filter( 'woocommerce_stripe_request_headers', 'bbloomer_conditional_private_key_headers', 9999 );
 
function bbloomer_conditional_private_key_headers( $headers_args ) {
 
   // PRODUCT ID HERE
   if ( ! bbloomer_product_id_in_cart( 12345 ) ) return $headers_args;
 
   // STRIPE Live Secret Key HERE
   $headers_args[ 'Authorization' ] = 'Basic ' . base64_encode( 'sk_live_..........' . ':' );
 
   return $headers_args;

المنشورات ذات الصلة:

WooCommerce: تعطيل بوابة الدفع حسب البلد

WooCommerce: قصر الشحن على دولة واحدة فقط

WooCommerce: Get / Edit Logged in Username @ Checkout

WooCommerce: قصر القوائم المنسدلة للولاية على ولاية واحدة فقط

WooCommerce: عرض إجمالي الخصم / التوفير في سلة التسوق والدفع

WooCommerce: تعيين مدينة الفوترة الافتراضية (أو حقول أخرى) @ Checkout

WooCommerce: الشحن فقط إلى عناوين “الاستلام المحلية” المحددة مسبقًا

WooCommerce: تحرير “عودة الزبون؟” رسالة @ الخروج

WooCommerce: مستخدم معفي من الضرائب بناءً على قيمة حقل الخروج

WooCommerce: عيّن حالة الطلب المخصص للأوامر الجديدة

أين تضيف هذا المقتطف؟

يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”

هل هذا المقتطف (لا يزال) يعمل؟

يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.

إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂

هل تحتاج إلى مساعدة في WooCommerce؟

تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

توضيح

اي عملية نسخ او اقتباس او ترجمة او نقل تم لاغراض علمية وتدريبية وتعليمية بحته وقد تم انشاء هذا المحتوى بمعرفة خبراء في مجال التقنية اما عن طريق إنشاء او تحرير او نقل او نسخ او اقتباس او ترجمة المحتوى من مصادر خاصة او عامة وكل ذلك ضمن حقوق النشر المتعارف عليها.

اي أخطاء تظهر في المحتوى مهما كان نوعه او تصنيفه يمكنك تحرير رسالة فورية لادارة موثوق لاجل تصحيح هذه الاخطاء، وسنكون شاكرين لك في حال قمت بالتعاون معنا لاجل اصلاح هذه الاخطاء.

شاركنا رايك وتقييمك للموضوع

{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}