WooCommerce: حسابات PayPal متعددة (محلولة)

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 مع إصدار مجاني خاص به من PayPal Standard. يمكن تمكين PayPal عبر إعدادات WooCommerce وبمجرد إدخال بريدك الإلكتروني على PayPal ، يصبح متجر WooCommerce جاهزًا لتلقي مدفوعات PayPal.

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

من خلال إضافة هذا الرمز البسيط والتثبيت في woocommerce_paypal_args ، من الممكن بالفعل استخدام حسابات PayPal قياسية مختلفة / متعددة في تثبيت WooCommerce واحد .

ومع ذلك ، هناك مشكلة معلقة في ” التحقق من صحة IPN “: بمجرد إخبار WooCommerce باستخدام حساب بريد إلكتروني مختلف على PayPal ، يتم وضع طلب WooCommerce بشكل صحيح ، ولكن حالته “معلقة” لأن التحقق من صحة IPN في نهاية PayPal يفشل (و هذا لأنك تستخدم حساب PayPal مختلف).

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

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

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

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

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

/**
 * @snippet       Switch PayPal 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. Switch PayPal email for Product ID
 
add_filter( 'woocommerce_paypal_args' , 'bbloomer_switch_paypal_email_based_product', 9999, 2 );
 
function bbloomer_switch_paypal_email_based_product( $paypal_args, $order ) {
 
    foreach ( $order->get_items() as $item_id => $item ) {
 
        // ENTER PRODUCT ID HERE
        if ( 123456 == $item->get_product_id() ) {
 
            // ENTER OTHER PAYPAL EMAIL HERE
            $paypal_args['business'] = 'another-paypal@example.com';
            break;
 
        }
 
    }
 
    return $paypal_args;
 
}
 
// -------------------
// 2. Avoid IPN Failure after switching PayPal email for Product ID
 
require_once WC()->plugin_path() . '/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php';
 
class WC_Gateway_Paypal_IPN_Handler_Switch extends WC_Gateway_Paypal_IPN_Handler { 
    
    protected function validate_receiver_email( $order, $receiver_email ) {
 
        if ( strcasecmp( trim( $receiver_email ), trim( $this->receiver_email ) ) !== 0 ) {
 
            // ENTER HERE SAME PAYPAL EMAIL USED ABOVE
            if ( $receiver_email != 'another-paypal@example.com' ) {
 
                WC_Gateway_Paypal::log( "IPN Response is for another account: {$receiver_email}. Your email is {$this->receiver_email}" );
                $order->update_status( 'on-hold', sprintf( __( 'Validation error: PayPal IPN response from a different email address (%s).', 'woocommerce' ), $receiver_email ) );
                exit;
 
            }
 
        }
 
    }
    
}
 
new WC_Gateway_Paypal_IPN_Handler_Switch();

هل هناك مكون إضافي (موثوق) لذلك؟

إذا كنت تحب البرمجة ولكنك لا تشعر بالثقة بنسبة 100٪ مع PHP ، فقد قررت البحث عن مكون إضافي موثوق به يحقق نفس النتيجة (حسنًا ، يمنحك في الواقع المزيد).

في هذه الحالة ، أوصي بـ WooCommerce Multiple PayPal Accounts Plugin . علاوة على إرسال إجمالي الطلب بالكامل إلى حساب PayPal مختلف بناءً على الإجمالي ، وبلد إرسال الفواتير ، والفئة ، والعلامة ، ودور المستخدم ، وفئة الشحن ، والعملة ، يمكنك أيضًا تقسيم المدفوعات بين حسابات PayPal ، والاحتفاظ بالعمولة كمالك متجر ، والتكامل مع WC Vendors و Dokan وأكثر من ذلك بكثير.

ولكن في حال كنت تكره المكونات الإضافية وترغب في كتابة التعليمات البرمجية (أو ترغب في تجربة ذلك) ، فاستمر في القراءة 🙂

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

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

WooCommerce: تعطيل بوابة الدفع لدور مستخدم معين

WooCommerce: كيفية تعطيل PayPal للطلبات التي تزيد عن 100 دولار

WooCommerce: قم بتغيير رمز PayPal @ صفحة الخروج

WooCommerce: أضف رسوم الدفع لبوابة الدفع (مثل PayPal)

WooCommerce: تعطيل بوابة الدفع لطريقة شحن محددة

WooCommerce: تعطيل طريقة الدفع لفئة معينة

WooCommerce: كيفية إزالة “ما هو PayPal؟” @ الدفع

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 }}