2013-07-09 2 views
1

Я изо всех сил пытаюсь выяснить, как получить цифровые товары для работы с моими адаптивными платежами. Я использую Paypal ruby gem Может кто-нибудь, пожалуйста, покажите мне пример кода для платежей с 2 ​​приемниками и для Digital Goods?Paypal адаптивные платежи за цифровые товары

Я уже одобрен для микро платежей по PayPal.

# Build request object 
     @pay = @api.build_pay({ 
      :actionType => "PAY", 
      :cancelUrl => "http://localhost:3000/account", #sandbox 
      :currencyCode => "USD", 
      #:feesPayer => "SENDER", 
      :ipnNotificationUrl => "http://596w.localtunnel.com/pay/#{purchased.id}", #sandbox 
      :memo => "Test payment", 
      :receiverList => { 
      :receiver => [{ 
       :amount => price.round(2), 
       :email => "an email", #sandbox 
       :paymentType => "DIGITALGOODS", 
       :primary => true 
       }, 
       unless account.user.email == "an email" 
       { 
       :amount => mycut.round(2), 
       :email => "anemail", #sandbox 
       :paymentType => "DIGITALGOODS" 
       } 
       end 
       ] }, 
      :returnUrl => "http://localhost:3000/pay/complete/" #sandbox 
      }) 

Я получаю ошибку:

This feature (Digital Goods) is not supported. 
+0

Работает ли он на одном приемнике? Или по умолчанию: paymentType? И вы получаете эту ошибку точно на вызов build_pay? – biomancer

ответ

0

Насколько я знаю, на экспресс-вариант оплаты в Paypal поддерживает цифровой товар. если вы можете заменить свою интеграцию на использование activemerchant и использовать PaypalDigitalGoodsGateway, вы сделаете себе одолжение.

0

Запишите билет на номер https://www.paypal.com/mts, и они активируют его для вас. Для чего это стоит, продукт, который вы пытаетесь использовать, это: Цифровые товары для экспресс-оплаты. Экспресс-заказ сам по себе доступен по умолчанию для всех учетных записей, но эта команда может включить цифровые товары в вашей учетной записи Sandbox.

0

Эта ошибка может возникнуть, если вы получите payKey успешно, но перенаправите пользователя на неправильный URL позже.

Здесь код haml для формы для встроенных платежей, включая цифровые товары.

= javascript_include_tag "//www.paypalobjects.com/js/external/apdg.js" 

%form.text-center{:action => ::PAYPAL_ADAPTIVE_GATEWAY.embedded_flow_url, :target => "PPDGFrame"} 
    %input#type{:name => "expType", :type => "hidden", :value => "light"} 
    %input#paykey{:name => "payKey", :type => "hidden", :value => @payKey} 
    %input#submitBtn{:type => "submit", :value => 'Pay with PayPal' } 

:javascript 
    var returnFromPayPal = function(){ 
    //do something on PayPal popup closing here 
    }; 
    var dgFlowMini = new PAYPAL.apps.DGFlowMini({ trigger: 'submitBtn', callbackFunction: returnFromPayPal}); 

    //works only for lightbox mode 
    function MyEmbeddedFlow(embeddedFlow) { 
     this.embeddedPPObj = embeddedFlow; 
     this.paymentSuccess = function() { 
      this.embeddedPPObj.closeFlow(); 
      // handle payment success here 
      window.location.reload(true); 
     }; 
     this.paymentCanceled = function() { 
      this.embeddedPPObj.closeFlow(); 
      // handle payment cancellation here 
      window.location.reload(true); 
     }; 
    } 
    var myEmbeddedPaymentFlow = new MyEmbeddedFlow(dgFlowMini); 

::PAYPAL_ADAPTIVE_GATEWAY.embedded_flow_url от activemerchant, вы можете использовать 'https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay' для песочницы или 'https://www.paypal.com/webapps/adaptivepayment/flow/pay' для производства.