1

デジタル商品をアダプティブ ペイメントで動作させる方法を理解するのに苦労しています。私は を使用していPaypal ruby gemますが、誰かが 2 つの受信者による支払いのコード サンプルを見せてくださいDigital Goods

私はすでにペイパルによるマイクロペイメントの承認を受けています。

# 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.
4

3 に答える 3

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'本番用に使用できます。

于 2013-07-14T15:24:31.893 に答える
0

私の知る限り、Paypal の Express Payment オプションはデジタル商品をサポートしています。activemerchant統合を使用して使用するように置き換えることができれば、あなたPaypalDigitalGoodsGateway自身に有利になります。

于 2013-07-14T14:20:55.870 に答える