2010-11-11 13 views
5

मैं अपने रेल ऐप में ActiveMerchant को एकीकृत करने की कोशिश कर रहा हूं। मेरे पास कुछ योजनाएं हैं जो सदस्यता की सीमा को उपयोगकर्ता की सीमा तक सीमित करती हैं। जैसा कि आप सभी लड़के जान सकते हैं कि सदस्यता आधारित ऐप क्या है, मैं अपने ऐप को समझा नहीं रहा हूं। कृपया ऐसा करने के लिए मुझे कुछ उदाहरण सुझाएं। मैंने पहले से ही रेलवे के एपिसोड 141 से 146 को देखा है, लेकिन रयान ने केवल पेपैल वेब पेमेंट्स स्टैंडर्ड और पेपैल वेब पेमेंट्स प्रो का प्रदर्शन किया है। मैंने ब्लॉग का एक समूह भी पढ़ा है लेकिन इससे मदद नहीं मिली है।ActiveMerchant समर्थन सदस्यता आधारित लेनदेन

कृपया मदद करें।

अग्रिम में धन्यवाद।

+0

यह संबंधित पोस्ट आपके लिए भी उपयोगी हो सकती है। http://stackoverflow.com/questions/1683929/paypal-recurring- बिलिंग-and-activemerchant –

उत्तर

0

सक्रिय व्यापारी अपने कुछ गेटवे (https://github.com/Shopify/active_merchant/wiki/GatewayFeatureMatrix) के लिए पुनरावर्ती भुगतान का समर्थन करता है।

प्रत्येक में थोड़ा अलग वाक्यविन्यास (https://github.com/Shopify/active_merchant/blob/master/lib/active_merchant/billing/gateways/authorize_net_cim.rb) है लेकिन आप जो चाहते हैं उसे पूरा कर सकते हैं।

मैं अनुशंसा करता हूं कि आप अपना भुगतान गेटवे चुनें और इसके लिए एक विशिष्ट एपीआई का उपयोग करें। एएम कुछ हद तक पीछे है (मेरे अनुभव से) और पुनरावर्ती भुगतान इसका प्राथमिक लक्ष्य नहीं है।

वहां ऐसी सेवाएं भी हैं जो आपके लिए सभी गेटवे इंटरैक्शन को संभालेगी और आप बस एपीआई से निपटेंगे। यह भुगतान स्वीकार करना और तृतीय पक्ष होस्ट किए गए भुगतान पृष्ठों के मामले में पीसीआई डीएसएस आवश्यकताओं को संभालना आसान बनाता है।

+0

मैं पेपैल को गेटवे के रूप में उपयोग करना चाहता हूं, मैं भी पेपैल लेनदेन को संभालने के लिए चाहता हूं यानी यदि उपयोगकर्ता सब्सक्राइब बटन पर क्लिक करता है तो उसे लिया जाता है पेपैल की साइट पर और सभी लेन-देन किए जाते हैं और यदि सफल हो तो मेरी साइट पर आईपीएन भेजा जाता है, और लेनदेन पूरा होने के बाद उपयोगकर्ता मेरी साइट पर वापस आ जाता है (मुझे लगता है कि यह कुछ हद तक पेपैल वेब भुगतान मानक की तरह है)। क्या यह संभव है – Rohit

+0

इसे एएम के बाहर, पेपल्स वेबसाइट पर संभाला जा सकता है। –

+0

लेकिन मैं पेपैल का उपयोग करके इसे करना चाहता हूं। क्या यह संभव है कृपया कुछ सिफारिश करें। – Rohit

9

कभी भी बेहतर देर से नहीं, हुह?

ActiveMerchant की वास्तविक मास्टर शाखा में एक आवर्ती वर्ग PaypalGateway और PaypalExpressGateway दोनों में एकीकृत है।

यहां एक डेमो स्निपेट है जो काम करता है।

  • बस बिलिंग अनुबंध :initial_amount की स्थापना की परवाह किए बिना किसी भी कीमत प्रदर्शित नहीं करता है की स्थापना: मैं बस कुछ ही अंक (के रूप में मैं उन्हें पता लगा मैं जितनी जल्दी जवाब अपडेट करेगा) है, जो कर रहे हैं के बारे में यकीन नहीं है। एक आइटम सहित आइटम की कीमत billing_agreement[:description] से ऊपर दिखाएगी। तो मुझे यकीन नहीं है कि यह कैप्चरिंग को कैसे प्रभावित करता है, जो मैं इन दिनों परीक्षण कर रहा हूं।
  • आईपीएन नोटिफिकेशन। वे निम्नलिखित स्निपेट में गायब हैं। निम्नलिखित अद्यतन ...

    class PaymentsController < ApplicationController 
        include ActiveMerchant::Billing 
    
    
        # GET /subscriptions/:id/checkout 
        def checkout 
        payment_request = PAYPAL_EXPRESS_GATEWAY.setup_purchase(@subscription.price_in_cents, 
         :billing_agreement => { 
          :type => 'RecurringPayments', 
          :description => 'Subscription agreement', 
         }, 
    
         :currency => 'CHF', 
         :no_shipping => true, 
         :allow_guest_checkout => true, 
         :allow_note => false, 
         :initial_amount => @subscription.price_in_cents, 
         :locale => 'de', 
         :ip => request.remote_ip, 
         :return_url => url_for(:action => :confirm, :only_path => false), 
         :cancel_return_url => url_for(:action => :cancel, :only_path => false), 
         # Looks like :notify_url is not used here, but in the next section 
        ) 
    
        if payment_request.success? 
         redirect_to PAYPAL_EXPRESS_GATEWAY.redirect_url_for(payment_request.token) 
        else 
         # Render something informal 
         render :text => payment_request.inspect.to_s and return 
        end 
        end 
    
        # POST /subscriptions/:id/confirm 
        # params having token and PayerID 
        def confirm 
        profile = PAYPAL_EXPRESS_GATEWAY.recurring(@subscription.price_in_cents, nil, 
         :description => 'Subscription agreement', 
         :start_date => Date.tomorrow, # PayPal throws an error if the date is not in the future 
         :period => 'Year', 
         :frequency => 1, 
         :amount => @subscription.price_in_cents, 
         :currency => 'CHF', 
         :initial_amount => @subscription.price_in_cents, 
         :auto_bill_outstanding => true, 
    
         :token => params[:token] 
        ) 
    
        # profile has profile_id and profile_status. remember status because this gets updated via IPN. 
        @debug = {:params => params.inspect.to_s, :profile => profile.inspect.to_s } 
    
        # Render something informal 
        render :text => @debug.to_s and return 
        end 
    
    
        # implement instead of just log 
        def notification 
        log = Logger.new 'log/ipn.log' 
        log.debug params.inspect 
        render :text => params.inspect.to_s and return 
        end 
    
    
        # Private methods omitted 
    
    end 
    

आप को देखने के लिए जो विकल्प संसाधित व एक्सएमएल अनुरोध की जो जगह में कर रहे हैं PaypalRecurringAPI और PaypalExpressGateway/PayPalGateway में एक देखो करना चाहते हैं।

संपादित करें पेपैल और पुनरावर्ती बिलिंग के बारे में नया, संशोधित स्क्रीनकास्ट अलग paypal-recurring मणि के साथ किया जाता है। शायद यह मदद करता है अगर आप इसे ActiveMerchant के साथ काम नहीं कर पा रहे हैं।

+0

[इस] के अनुसार (https://github.com/activemerchant/active_merchant/issues/1584), वे ActiveMerchant v2 में पुनरावर्ती भुगतान के लिए समर्थन छोड़ देंगे –

संबंधित मुद्दे