gpt4 book ai didi

android - 如何使用 webview 将 paypal 集成到 android 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:12 27 4
gpt4 key购买 nike

我想将 Paypal 集成到我的应用程序中。在我看到这个之前,我快要到达那里了:https://developer.paypal.com/webapps/developer/support/faq#non-US-devPaypal 不允许非美国开发人员使用 REST API。所以我剩下的选择是经典的 api。这就是问题所在。我不知道如何使用它们。

我打算使用 NVP api。我不知道如何去做,但下面是我计划做的方式的流程图。我需要在 checkout.java 中设置商品编号、描述、价格等,它将发送到 www.domain.com/setsessions.php

虽然我不确定它是否有效。但即使可以,那么我想知道新的“Intent ”如何检测用户是否已付款成功、付款失败或取消付款。

App paypal flow

我需要这方面的帮助。这真的很令人沮丧.. 已经尝试整合 paypal 将近 2 周了。感觉很没效率..

这样还好吗?或者有更好的方法吗?我的要求是设置发票号,项目号,描述,价格,位置,所有这些都需要从应用程序。

最佳答案

主 Activity .java

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 添加到您的 AndroidManifest.xml 文件中。

<activity
android:name="com.paypal.android.MEP.PayPalActivity"
android:configChanges="keyboardHidden|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

将 PayPal_MPL.jar Jar 文件作为引用库添加到您的应用程序中

关于android - 如何使用 webview 将 paypal 集成到 android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16578307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com