如何使用webview将paypal集成到android应用程序
我想将paypal集成到我的应用程序中。我就快到了,直到我看到这个: Paypal不允许非美国开发者使用RESTAPI。因此,留给我的选择是经典api。这就是问题所在。我不知道如何使用它们 我计划使用NVP api。我不知道怎么做,但下面是我计划做的流程图。我需要在checkout.java上设置项目编号、说明、价格等,该网站将发送到www.domain.com/setsessions.php 不过,我不确定它是否有效。但即使可以,我想知道新的“意图”如何检测用户是否成功付款、付款失败或取消付款。 我需要帮助。这真的很令人沮丧。我已经尝试整合paypal将近两周了。我觉得很没效率 这样行吗?还是有更好的方法? 我的要求是设置发票号、项目号、说明、价格、位置,所有这些都是应用程序所必需的。MainActivity.java如何使用webview将paypal集成到android应用程序,android,android-intent,paypal,paypal-nvp,Android,Android Intent,Paypal,Paypal Nvp,我想将paypal集成到我的应用程序中。我就快到了,直到我看到这个: Paypal不允许非美国开发者使用RESTAPI。因此,留给我的选择是经典api。这就是问题所在。我不知道如何使用它们 我计划使用NVP api。我不知道怎么做,但下面是我计划做的流程图。我需要在checkout.java上设置项目编号、说明、价格等,该网站将发送到www.domain.com/setsessions.php 不过,我不确定它是否有效。但即使可以,我想知道新的“意图”如何检测用户是否成功付款、付款失败或取消付款
public class PizzaMain extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PayPal ppObj = PayPal.initWithAppID(this.getBaseContext(), "APP-80W284485P519543T", PayPal.ENV_NONE);
CheckoutButton launchPayPalButton = ppObj.getCheckoutButton(this, PayPal.BUTTON_152x33, CheckoutButton.TEXT_PAY);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_HORIZONTAL);
launchPayPalButton.setLayoutParams(params);
launchPayPalButton.setOnClickListener(this);
((RelativeLayout) findViewById(R.id.mRlayout1)).addView(launchPayPalButton);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
PayPalPayment newPayment = new PayPalPayment();
char val[] = { '5', '0' };
BigDecimal obj_0 = new BigDecimal(val);
newPayment.setSubtotal(obj_0);
newPayment.setCurrencyType("USD");
newPayment.setRecipient("my@email.com");
newPayment.setMerchantName("My Company");
Intent paypalIntent = PayPal.getInstance().checkout(newPayment, this);
this.startActivityForResult(paypalIntent, 1);
}
@SuppressWarnings("unused")
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) {
case Activity.RESULT_OK:
// The payment succeeded
String payKey = data.getStringExtra(PayPalActivity.EXTRA_PAY_KEY);
// Tell the user their payment succeeded
break;
case Activity.RESULT_CANCELED:
// The payment was canceled
// Tell the user their payment was canceled
break;
case PayPalActivity.RESULT_FAILURE:
// The payment failed -- we get the error from the EXTRA_ERROR_ID
// and EXTRA_ERROR_MESSAGE
String errorID = data.getStringExtra(PayPalActivity.EXTRA_ERROR_ID);
String errorMessage = data.getStringExtra(PayPalActivity.EXTRA_ERROR_MESSAGE);
// Tell the user their payment was failed.
break;
}
}
}
并向您的AndroidManifest.xml文件授予以下权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<activity
android:name="com.paypal.android.MEP.PayPalActivity"
android:configChanges="keyboardHidden|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
并将活动添加到AndroidManifest.xml文件中
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<activity
android:name="com.paypal.android.MEP.PayPalActivity"
android:configChanges="keyboardHidden|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
将PayPal_MPL.jar文件作为参考库添加到您的应用程序中您知道使用PayPal启用信用卡和借记卡选项的任何方法吗!是否已为新集成禁用此功能?