Ошибка PayPal. Убедитесь, что все поля введены. - PullRequest
1 голос
/ 01 апреля 2012

У меня проблема с созданием работающей кнопки PayPal в среде Sandbox.

После ввода моего адреса электронной почты и пароля в среде песочницы.

Вот что я вижу.

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 голосов
/ 25 мая 2012

Я столкнулся с той же проблемой, наконец, я решаю ее, используя этот код для передать целочисленное значение в Bigdecimal

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

вместо использования:

payment.setSubtotal(new BigDecimal(10));

например:.

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);
}
...