贝宝错误 - 请确保已输入所有字段

时间:2012-04-01 10:18:41

标签: android-emulator paypal-sandbox

我在Sandbox环境中创建有效的PayPal按钮时遇到问题。

在沙箱环境中输入我的电子邮件和密码后。

这就是我所看到的。

enter image description here

这是我的代码

的AndroidManifest.xml

<uses-sdk android:minSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
    <activity
        android:name=".MypaypalActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  <activity android:name="com.paypal.android.MEP.PayPalActivity"
android:configChanges="keyboardHidden|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>

MypaypalActivity

公共类MypaypalActivity扩展Activity实现OnClickListener {

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LinearLayout MainLayout= new LinearLayout(this);

    setContentView(R.layout.main);
    PayPal pp = PayPal.initWithAppID(this, "APP-80W284485P519543T", PayPal.ENV_SANDBOX);

    LinearLayout layoutSimplePayment = new LinearLayout(this);
    layoutSimplePayment.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    layoutSimplePayment.setOrientation(LinearLayout.VERTICAL);

    CheckoutButton COButton = pp.getCheckoutButton(this, PayPal.BUTTON_118x24, CheckoutButton.TEXT_PAY);


    COButton.setOnClickListener(this);   
    layoutSimplePayment.addView(COButton);
    MainLayout.addView(layoutSimplePayment);

    setContentView(MainLayout);
}


public void onClick(View v) {
    PayPalPayment payment = new PayPalPayment();
    payment.setSubtotal(new BigDecimal("10"));
    payment.setCurrencyType("USD");
    payment.setRecipient("becozofeuu_92@hotmail.com");
 //   payment.setPaymentType(PayPal.PAYMENT_TYPE_GOODS);

    Intent checkoutIntent = PayPal.getInstance().checkout(payment, this);
    startActivityForResult(checkoutIntent, 1);
}

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,最后我用这个代码来解决它 将整数值传递给Bigdecimal

payment.setSubtotal(new BigDecimal("10"));  

而不是使用:

payment.setSubtotal(new BigDecimal(10));

e.g:

public void onClick(View v) {
    PayPalPayment payment = new PayPalPayment();
    payment.setSubtotal(new BigDecimal("10"));
    payment.setCurrencyType("USD");
    payment.setRecipient("becozofeuu_92@hotmail.com");
 //   payment.setPaymentType(PayPal.PAYMENT_TYPE_GOODS);

    Intent checkoutIntent = PayPal.getInstance().checkout(payment, this);
    startActivityForResult(checkoutIntent, 1);
}