नमस्ते,

मुझे अपने प्रपत्रों में पेपाल स्मार्ट भुगतान बटन जोड़ने में कठिनाई हो रही है। मेरी परियोजना में, रेडियो बटन पट्टी या पेपैल का चयन करके आवश्यक भुगतान विधि चुनने के लिए फॉर्म हैं।

मुझे नहीं पता कि इसे कैसे व्यवस्थित किया जाए ताकि इस वेबसाइट में उपयोग किए गए क्रेडिट कार्ड और पीपी के लोगो चेक आउट पेज में दिखाए जा सकें:

https://developer.paypal.com/demo/checkout/#/pattern/radio

स्ट्राइप भुगतान विधि पूरी तरह से ठीक काम कर रही है मैं सिर्फ पेपाल भुगतान विकल्प जोड़ना चाहता हूं।

इस प्रकार मेरी परियोजना की व्यवस्था की जाती है: Forms.py

PAYMENT_CHOICES = (
    ('S', 'Stripe'),
    ('P', 'Paypal')
)

class CheckoutForm(forms.Form):
----address related forms-----------------------------------
    payment_option = forms.ChoiceField(
        widget=forms.RadioSelect, choices=PAYMENT_CHOICES)

यहाँ चेकआउट टेम्पलेट है:

              <h3>Payment option</h3>

              <div class="d-block my-3">
                {% for value, name in form.fields.payment_option.choices %}
                <div class="custom-control custom-radio">
                  <input id="{{ name }}" name="payment_option" value="{{ value }}" type="radio" class="custom-control-input" required>
                  <label class="custom-control-label" for="{{ name }}">{{ name }}</label>
                </div>
                {% endfor %}
              </div>

यहाँ दृश्य है.py

class CheckoutView(View):
    def get(self, *args, **kwargs):
        try:
            order = Order.objects.get(user=self.request.user, ordered=False)
            form = CheckoutForm()
            context = {
                'form': form,
                'couponform': CouponForm(),
                'order': order,
                'DISPLAY_COUPON_FORM': True
            }
-----------------Shipping address codes-----------------------------

                payment_option = form.cleaned_data.get('payment_option')

                if payment_option == 'S':
                    return redirect('core:payment', payment_option='stripe')
                elif payment_option == 'P':
                    return redirect('core:payment', payment_option='paypal')
                else:
                    messages.warning(
                        self.request, "Invalid payment option selected")
                    return redirect('core:checkout')

        except ObjectDoesNotExist:
            messages.warning(self.request, "You do not have an active order")
            return redirect("core:order-summary")

ये है model.py

class Payment(models.Model):
    stripe_charge_id = models.CharField(max_length=50)
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             on_delete=models.SET_NULL, blank=True, null=True)
    amount = models.FloatField()
    timestamp = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.user.username

मुझे अपने चेकआउट पृष्ठ में पेपैल भुगतान को एकीकृत करने में सहायता चाहिए

0
A_K 22 सितंबर 2020, 03:33

1 उत्तर

सबसे बढ़िया उत्तर

आप https://developer.paypal से किसी भी नमूना JS को शामिल नहीं कर रहे हैं .com/demo/checkout/#/pattern/radio, और इसके बजाय django फॉर्म रेडियो बटन का उपयोग कर रहे हैं

यदि आप वहां से कार्ड लोगो का उपयोग करना चाहते हैं, तो आपको कार्ड विकल्प चुने जाने पर कम से कम संपत्ति card-mark.png को शामिल करना होगा

और जब पेपाल विकल्प चुना जाता है तो आपको पेपाल बटन के प्रकट होने के लिए एक तंत्र शामिल करना होगा। मुझे आपके द्वारा साझा किए गए कोड में कोई भी PayPal बटन रेंडरिंग कोड नहीं दिख रहा है, इसलिए आपको इसे जोड़ना होगा

2
Preston PHX 23 सितंबर 2020, 03:18