适用于Android和Pizza的Paypal MPL示例”;应用程序未授权,错误ID-1“;

适用于Android和Pizza的Paypal MPL示例”;应用程序未授权,错误ID-1“;,android,paypal,paypal-sandbox,paypal-adaptive-payments,Android,Paypal,Paypal Sandbox,Paypal Adaptive Payments,我下载了这个库: 我下载了这个例子: 我创建了一个沙箱帐户和几个个人和商业帐户 我可以很好地看到API凭据和签名(我不需要API凭据在沙盒中进行测试吗?)??文档中说,“除了API凭据之外,MPL调用还需要一个AppID。对于PayPal沙盒,AppID是静态的:“APP-80W284485P519543T”在adition 现在在沙盒环境中,当我按下“paypal支付”按钮时,PayPalaActivityResult(int-requestCode,int-resultCode,Intent

我下载了这个库:

我下载了这个例子:

我创建了一个沙箱帐户和几个个人和商业帐户

我可以很好地看到API凭据和签名(我不需要API凭据在沙盒中进行测试吗?)??文档中说,“除了API凭据之外,MPL调用还需要一个AppID。对于PayPal沙盒,AppID是静态的:“APP-80W284485P519543T”在adition

现在在沙盒环境中,当我按下“paypal支付”按钮时,PayPalaActivityResult(int-requestCode,int-resultCode,Intent-Intent)中获得的代码是:paypal.FAILURE,显示的消息是:“应用程序未授权,错误ID-1”

我在贝宝精彩的文档中没有发现这个错误

这是我的代码:

public void initLibrary() {
    PayPal pp = PayPal.getInstance();

    if (pp == null) {            
        pp = PayPal.initWithAppID(this, "APP-80W284485P519543T",
                PayPal.ENV_SANDBOX);

        pp.setLanguage("en_US");
        pp.setFeesPayer(PayPal.FEEPAYER_EACHRECEIVER);
        pp.setShippingEnabled(true);
        pp.setDynamicAmountCalculationEnabled(false);
        _paypalLibraryInit = true;
    }
}

private void showPayPalButton() {

    // Generate the PayPal checkout button and save it for later use
    PayPal pp = PayPal.getInstance();
    CheckoutButton launchPayPalButton = pp.getCheckoutButton(this, PayPal.BUTTON_278x43, CheckoutButton.TEXT_PAY);
    // The OnClick listener for the checkout button
    launchPayPalButton.setOnClickListener(this);
    // Add the listener to the layout
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams (ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    params.bottomMargin = 10;
    launchPayPalButton.setLayoutParams(params);
    launchPayPalButton.setId(12345);
    ((LinearLayout) findViewById(R.id.wrapper)).addView(launchPayPalButton);
    ((LinearLayout) findViewById(R.id.wrapper)).setGravity(Gravity.CENTER_HORIZONTAL);
}


public void PayPalButtonClick(View arg0) {
    // Create a basic PayPal payment
    PayPalPayment payment = new PayPalPayment();
    payment.setCurrencyType("USD");        
    payment.setRecipient("erauskin-facilitator@gmail.com");        
    payment.setSubtotal(new BigDecimal(200.0f));        
    payment.setPaymentType(PayPal.PAYMENT_TYPE_PERSONAL);        
    payment.setMerchantName("Discográfica XXX");        
    Intent paypalIntent = PayPal.getInstance().checkout(payment, this);
    this.startActivityForResult(paypalIntent, 1);
}

public void PayPalActivityResult(int requestCode, int resultCode, Intent intent) {
        switch (resultCode) {
        case Activity.RESULT_OK:
            // The payment succeeded
            String payKey = intent
                    .getStringExtra(PayPalActivity.EXTRA_PAY_KEY);
            this.paymentSucceeded(payKey);
            break;
        case Activity.RESULT_CANCELED:
            // The payment was canceled
            this.paymentCanceled();
            break;
        case PayPalActivity.RESULT_FAILURE:
            // The payment failed -- we get the error from the
            // EXTRA_ERROR_ID and EXTRA_ERROR_MESSAGE
            String errorID = intent
                    .getStringExtra(PayPalActivity.EXTRA_ERROR_ID);
            String errorMessage = intent
                    .getStringExtra(PayPalActivity.EXTRA_ERROR_MESSAGE);
            this.paymentFailed(errorID, errorMessage);
        }
}

我可以建议你用这个吗?一旦新的Android SDK达到功能对等,MPL将被弃用。谢谢你的到来,但我们不在美国,我们必须使用适应性支付。我认为新的SDK是不可能的,对吗?你需要自适应支付中的哪些功能?有关哪些功能尚不受支持的具体信息,请参阅。我们需要用户1在我们的应用程序中向用户2付款,并且根据:和,我们决定使用适应性付款。我们尝试新的SDK,很适合单次支付,但您不能将transación类型更改为个人。如果您有商业帐户,您可以在许多国家接受支付。请看