2010-08-27 53 views
9

我正在嘗試集成Paypal API以使我的應用程序基於捐款。我有兩個問題:Android和PayPal API集成

  1. 我可以看到按鈕,我點擊它,但它沒有做任何事情! (checkoutIntent的活動不會觸發?)

  2. 什麼是您的基於捐贈的android應用程序的體驗?我想每個月賺250美元這個東西,這甚至有可能嗎?


public class Donate extends Activity implements OnClickListener { 

    PayPal ppObj = PayPal.initWithAppID(this.getBaseContext(), "APP-80W284485P519543T", PayPal.ENV_SANDBOX); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.donate); 
     LinearLayout mainLayout = (LinearLayout)findViewById(R.id.LinearLayout01); 
     if (ppObj == null) ppObj = PayPal.initWithAppID(this.getBaseContext(), "APP-80W284485P519543T", PayPal.ENV_SANDBOX); 
     CheckoutButton payPalButton = (CheckoutButton) ppObj.getPaymentButton(PayPal.BUTTON_294x45, this, PayPal.PAYMENT_TYPE_HARD_GOODS); 
     payPalButton.setOnClickListener(this); 
     mainLayout.addView(payPalButton); 
    } 

    public void onClick(View arg0) { 
     PayPalPayment newPayment = new PayPalPayment(); 
     newPayment.setAmount((float) 1.00); 
     newPayment.setCurrency("USD"); 
     newPayment.setRecipient("[email protected]"); 
     Intent checkoutIntent = new Intent(this, PayPalActivity.class); 
     checkoutIntent.putExtra(PayPalActivity.EXTRA_PAYMENT_INFO, newPayment); 

     this.startActivityForResult(checkoutIntent, 1); 
    } 

    @Override 
     public void onBackPressed() { 
     Intent menuIntent = new Intent(Donate.this, MTGTools.class); 
     this.startActivity(menuIntent); 
     } 
    } 
+2

我看不出有什麼明顯的毛病,你在做什麼。你確定你在oncreate中的launchPayPalButton和你點擊的一樣嗎?重新#2 ..這完全取決於你的應用程序有多好.. – 2010-08-27 18:54:56

+0

它不是。我發現我不得不將PayPal按鈕添加到我的佈局中。我將編輯我的代碼以反映我的更改。 2.這是一個魔術:收集健康跟蹤應用程序,市場上有一堆免費的應用程序,但我會將卡片識別構建到我的。 (希望) – 2010-08-27 18:57:54

+0

另外,我甚至可以從我的模擬器進行沙箱呼叫paypal? – 2010-08-27 19:19:25

回答

0

onclick

pp=PayPal.getInstance(); 

// Should do like this to start paypal activity 
PayPalPayment newPayment = new PayPalPayment(); 
newPayment.setCurrencyType("USD"); 

Intent paypalIntent=pp.checkout(newPayment, test.this); 
startActivityForResult(paypalIntent, 1);