paypal - 尝试从 Parse.com 云代码访问 Paypal API 时出错

标签 paypal parse-platform

我正在尝试从 Parse.com 云代码调用 Paypay。

我在 Firebug 上收到以下错误: {"code":141,"error":"未捕获错误:无法对对象进行编码"}

我直接使用 Paypal 示例代码中的示例。我的 cURL 片段工作正常。当我尝试使用 Parse Cloud Code 时,出现上述错误。这是我的解析云代码:

Parse.Cloud.httpRequest({
    url: 'https://svcs.sandbox.paypal.com/AdaptiveAccounts/CreateAccount',
    method: 'POST',
    headers: {  "X-PAYPAL-SECURITY-USERID":  "XXXXXXXXX",
                "X-PAYPAL-SECURITY-PASSWORD": "XXXXXXXX",
                "X-PAYPAL-SECURITY-SIGNATURE":  "XXXXXXXXXXXXX",
                "X-PAYPAL-REQUEST-DATA-FORMAT": "JSON",
                "X-PAYPAL-RESPONSE-DATA-FORMAT": "JSON",
                "X-PAYPAL-APPLICATION-ID": "APP-NNNNNNNNNNN",
                "X-PAYPAL-DEVICE-IPADDRESS": "<my_actual_IP_address>",                       
                "X-PAYPAL-SANDBOX-EMAIL-ADDRESS": "XXXXXXXXXXXXXX"                
              },
    body:    {  "sandboxEmailAddress":"xyz@me.com",
                "accountType":"PERSONAL",
                "name": {"firstName":"Lenny","lastName":"Riceman"},
                "address":{"line1":"123 Main St", "city":"Austin", "state":"TX", "postalCode":"78759", "countryCode":"US"},
                "citizenshipCountryCode":"US", 
                "contactPhoneNumber":"512-555-5555",
                "dateOfBirth":"1968-01-01Z", 
                "createAccountWebOptions": {"returnUrl":"http://www.example.com/success.html"},
                "currencyCode":"USD",
                "emailAddress":"lr12345@example.com", 
                "preferredLanguageCode":"en_US",
                "registrationType":"Web",
                "requestEnvelope": {"errorLanguage":"en_US"}
    }, 
  success: function() {
    response.success("Paypal made!");
  },
  error: function(err) {
        response.error(err);
            console.error('Request failed with response code ' );
  }

更新:2014 年 5 月 9 日 好的。我不知道这是否有帮助,但这是适合我的确切代码。

        Parse.Cloud.httpRequest({
      method: 'POST',
      url: 'https://api-3t.paypal.com/nvp -d',
      body: {
        USER: 'sr1.me.com',     
        PWD: 'LEgfdgfsdg8',
        SIGNATURE: 'gfdgh',
        METHOD: 'MassPay',
        VERSION: '93',
        RECEIVERTYPE: 'EmailAddress',
        CURRENCYCODE: 'USD',
        EMAILSUBJECT: 'You have a new payment from ',
        L_EMAIL0: sellerEmail,                      
        L_AMT0: paypalPmt,          
        L_NOTE0: paypalNote,            
        L_UNIQUEID0: bumpSoldTrans
          }

最佳答案

Parse.Cloud.define("getUserPayPalToken", function(request, response){

          //Setup private varaibles for paypal request to user
          var receivers = new Array();

          //Setup Receivers for Paypal when payment begins

          //Primary Receiver --- Created first array for primary receiver
          receivers[0]     = new Array();
          receivers[0][0]  = {'amount':'1.00', 'email':'email-test-1@gmail.com'};

          //receivers[0][0]  = {'email':request.params.email};

          //Secondary Receiver --- Created second array for secondary receiver
          receivers[1]     = new Array();
          receivers[1][0]  = {'amount':'2.00', 'email':'test-email@gmail.com'};

         var receiverListParams = [{'receiver': receiverParams}];

         var receiverParams = JSON.stringify(receiverListParams);  


    //Set Parse to call PayPal Adaptive Payments
    Parse.Cloud.httpRequest({  
          method:'POST',
          url: 'https://svcs.sandbox.paypal.com/AdaptivePayments/Pay',
          headers: {
                //Setting PayPal request headers
                'X-PAYPAL-SECURITY-USERID'      : 'xxxxx',
                'X-PAYPAL-SECURITY-PASSWORD'    : 'xxxxx',
                'X-PAYPAL-SECURITY-SIGNATURE'   : 'xxxxx',

                // Global Sandbox Application ID
                'X-PAYPAL-APPLICATION-ID '      : 'APP-80W284485P519543T',

                // Input and output formats
                'X-PAYPAL-REQUEST-DATA-FORMAT'  : 'JSON',
                'X-PAYPAL-RESPONSE-DATA-FORMAT' : 'JSON'

          },
          body:{
                'actionType'      : 'PAY',
                'cancelUrl'       : 'http://www.cancel.com',
                'currencyCode'    : 'USD',
                'returnUrl'       : 'http://www.return.com',
                'requestEnvelope' : {"errorLanguage":"en_US"},
                'receiverList'    : receiverParams
          },
          success: function(httpResponse) {
            console.log(httpResponse.text);
            response.success(httpResponse.text);
          },
          error: function(httpResponse) {
            console.error('Request failed with response code ' + httpResponse.status);
            response.error(httpResponse.text);

          }
        });

});

关于paypal - 尝试从 Parse.com 云代码访问 Paypal API 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892928/

相关文章:

php - POST 中用于 Paypal IPN/按钮的额外变量?

PayPal Express Checkout 送货地址不可编辑

javascript - 保存图像以使用 Javascript 为网站进行解析

ios - 解析服务器证书问题

paypal - 在新西兰购物车网站上接受 Paypal 付款

api - Paypal 沙盒 API 端点返回 503 "Internal Service Error"错误

Android应用内购买,如何检查用户是否购买了一件商品

swift - 解析嵌套的完成处理程序

ios - 在解析推送通知中将用户名作为变量发送

javascript - 主干/解析应用程序 : links don't work on first load