gpt4 book ai didi

安卓 : Paypal implementation

转载 作者:太空狗 更新时间:2023-10-29 15:09:35 25 4
gpt4 key购买 nike

我正在开发一个应用程序,应用程序的需求是需要在线支付。

我想以印度货币(卢比)向店主支付我申请中的账单金额。我尝试了一个使用 MPL 的演示示例。

我创建了一个类:

public class MainActivity extends Activity implements OnClickListener {

private boolean _paypalLibraryInit = false;

final static public int PAYPAL_BUTTON_ID = 10001;

CheckoutButton launchPayPalButton;

public static String resultTitle;
public static String resultInfo;
public static String resultExtra;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initLibrary();
if (_paypalLibraryInit) {
showPayPalButton();
} else {
finish();
}
}

/** init method **/
public void initLibrary() {
PayPal pp = PayPal.getInstance();
if (pp == null) {
// This is the main initialization call that takes in your Context,
// the Application ID, and the server you would like to connect to.
pp = PayPal.initWithAppID(this, "APP-80W284485P519543T",PayPal.ENV_SANDBOX);

// -- These are required settings.
pp.setLanguage("en_US"); // Sets the language for the library.
// --

// -- These are a few of the optional settings.
// Sets the fees payer. If there are fees for the transaction, this
// person will pay for them. Possible values are FEEPAYER_SENDER,
// FEEPAYER_PRIMARYRECEIVER, FEEPAYER_EACHRECEIVER, and
// FEEPAYER_SECONDARYONLY.
pp.setFeesPayer(PayPal.FEEPAYER_EACHRECEIVER);
// Set to true if the transaction will require shipping.
pp.setShippingEnabled(true);
// Dynamic Amount Calculation allows you to set tax and shipping
// amounts based on the user's shipping address. Shipping must be
// enabled for Dynamic Amount Calculation. This also requires you to
// create a class that implements PaymentAdjuster and Serializable.
pp.setDynamicAmountCalculationEnabled(false);
// --
_paypalLibraryInit = true;
}
}

private void showPayPalButton() {
// Generate the PayPal checkout button and save it for later use
PayPal pp = PayPal.getInstance();
launchPayPalButton = pp.getCheckoutButton(this, PayPal.BUTTON_278x43,CheckoutButton.TEXT_PAY);

// Add the listener to the layout
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.bottomMargin = 10;
params.leftMargin= 50;

launchPayPalButton.setLayoutParams(params);
launchPayPalButton.setId(PAYPAL_BUTTON_ID);
// The OnClick listener for the checkout button
launchPayPalButton.setOnClickListener(this);

//((RelativeLayout) findViewById(R.id.RelativeLayout01)).addView(launchPayPalButton);
((RelativeLayout) findViewById(R.id.rl)).addView(launchPayPalButton);
}

@Override
public void onClick(View v) {
// Use our helper function to create the simple payment.
PayPalButtonClick(v);
// Use checkout to create our Intent.
// Intent checkoutIntent = PayPal.getInstance().checkout(payment, this,
// new ResultDelegate());
// Use the android's startActivityForResult() and pass in our Intent.
// This will start the library.
// startActivityForResult(checkoutIntent, request);
}

public void PayPalButtonClick(View arg0) {
// Create a basic PayPal payment
PayPalPayment payment = new PayPalPayment();

// Set the currency type
payment.setCurrencyType("USD");

// Set the recipient for the payment (can be a phone number)
payment.setRecipient("abc@gmail.com");

// Set the payment amount, excluding tax and shipping costs
payment.setSubtotal(new BigDecimal("1.0"));

// Set the payment type--his can be PAYMENT_TYPE_GOODS,
// PAYMENT_TYPE_SERVICE, PAYMENT_TYPE_PERSONAL, or PAYMENT_TYPE_NONE
payment.setPaymentType(PayPal.PAYMENT_TYPE_GOODS);

// PayPalInvoiceData can contain tax and shipping amounts, and an
// ArrayList of PayPalInvoiceItem that you can fill out.
// These are not required for any transaction.
PayPalInvoiceData invoice = new PayPalInvoiceData();

// Set the tax amount
invoice.setTax(new BigDecimal("0"));
Intent checkoutIntent = PayPal.getInstance().checkout(payment, this /*, new ResultDelegate()*/);
this.startActivityForResult(checkoutIntent, 1);
}

public void PayPalActivityResult(int requestCode, int resultCode, Intent intent) {
if(requestCode != 1)
return;

Toast.makeText(getApplicationContext(),resultTitle , Toast.LENGTH_SHORT).show();
}
}

结果委托(delegate)类为:

public class ResultDelegate implements PayPalResultDelegate, Serializable {

private static final long serialVersionUID = 10001L;

/**
* Notification that the payment has been completed successfully.
*
* @param payKey the pay key for the payment
* @param paymentStatus the status of the transaction
*/
public void onPaymentSucceeded(String payKey, String paymentStatus) {
MainActivity.resultTitle = "SUCCESS";
MainActivity.resultInfo = "You have successfully completed your transaction.";
MainActivity.resultExtra = "Key: " + payKey;
}

/**
* Notification that the payment has failed.
*
* @param paymentStatus the status of the transaction
* @param correlationID the correlationID for the transaction failure
* @param payKey the pay key for the payment
* @param errorID the ID of the error that occurred
* @param errorMessage the error message for the error that occurred
*/
public void onPaymentFailed(String paymentStatus, String correlationID,
String payKey, String errorID, String errorMessage) {
MainActivity.resultTitle = "FAILURE";
MainActivity.resultInfo = errorMessage;
MainActivity.resultExtra = "Error ID: " + errorID + "\nCorrelation ID: "
+ correlationID + "\nPay Key: " + payKey;
}

/**
* Notification that the payment was canceled.
*
* @param paymentStatus the status of the transaction
*/
public void onPaymentCanceled(String paymentStatus) {
MainActivity.resultTitle = "CANCELED";
MainActivity.resultInfo = "The transaction has been cancelled.";
MainActivity.resultExtra = "";
}
}

同时下载了 Paypal_MPL.jar 文件并导入到应用程序中并创建了一个 paypal 个人帐户。

<强>1。现在的问题是如何测试应用程序?

<强>2。我在正确的轨道上吗?

<强>3。我还需要做什么?

我不清楚实现 MPL 的步骤以及如何在 Paypal 上创建帐户、测试帐户、将帐户链接到应用程序等

请建议我并指导我。

最佳答案

http://www.androiddevelopersolution.com/2012/09/paypal-integration-in-android.html我希望这能帮到您 。要测试应用程序,您可以检查结果 Activity

关于安卓 : Paypal implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18098634/

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