当按钮被点击时,我该如何集成Paypal以向用户支付?

3

也许听起来有点奇怪,但我正在完成一个能够支付用户的应用程序的最后阶段。

在这个应用程序中,当用户使用应用程序时,会不断累积资金。该应用程序中有一个名为“提现”的按钮,当用户达到一定金额时,可以点击该按钮并从应用程序中获取累积的资金。

我已经联系了Google Checkout和Paypal,Paypal建议在我的情况下可以集成个人付款,并向我发送了适用于Android的Paypal API文档。文档本身非常有用,但没有描述我正在寻找的这种情况。有什么线索可以集成这样的功能吗?感谢任何愿意帮助我的人。

1个回答

3

哇!现在有一个大挑战。以下是Paypal技术支持和我的对话记录:他们目前还不支持此功能。 所以我猜我手头有一些尚未完成的工作。

客户 11/03/2010 01:05 PM
我有一种感觉,像PayPal或Google Checkout这样的任何供应商都不支持此功能,因为它是支付处理的反向方式,以前从未在应用程序中实现过。

因此,让我问你一个关键问题,因为这是应用程序中的一个重要功能,我们必须立即执行:

我们拥有用户电子邮件地址和每个人需要发送多少现金的数据。我们能否从服务器运行批处理作业,并将数据发送到Paypal,包括用户电子邮件地址和金额,以处理付款?如果可以,请告诉我如何做到这一点?

感谢您的帮助。

回复(Vivek)11/03/2010 12:42 PM
您好, 正如“MPL Developer Guide and Reference - Android OS Edition”(附带库软件包的文档)第32页所述,这只涉及费用问题。

不幸的是,目前无法实现从自己的设备启动收取交易并通过应用程序收到钱款的功能要求。

但是,您的想法非常值得思考,如果您能提供更多关于业务的信息,我可以升级此需求并查看是否符合未来功能请求。

谢谢, Vivek

客户()11/03/2010 10:57 AM
顺便说一下,我们正在使用Android移动支付库和类型“个人支付”,这是一个Paypal技术代表根据我的上一个问题所建议的。

以下是代码片段。

CheckoutButton launchPayPalButton = ppObj.getPaymentButton(PayPal.BUTTON_278x43, this, PayPal.PAYMENT_TYPE_PERSONAL);

谢谢。
客户()11/03/2010 10:53 AM
您提到您想要从用户正在使用的Android设备向用户(Android应用程序的用户)发送资金,这些资金来自您的账户。这是真的吗?
答案#1
是正确的。
您的问题#2
“如果是这种情况,为什么不能设置上述Android用户和收件人,然后您登录并发送资金。 但是,如果我没错,您希望上述Android用户启动操作并从您的帐户中取款。从技术上讲,您希望以某种方式检索资金,而不是发送资金,这是真的吗?”
我的答案#2
由于Android应用程序用户从他的手机应用程序发起交易,因此在那时我无法从他的手机登录。因此,您的理解是正确的,我们希望用户启动操作并从我们的帐户中取款,并且我们将根据App编程设置多少和哪个电子邮件地址获得它。 因此,基本上是的,我们希望应用程序用户从我们的账户中检索资金,而不是支付我们。
回复(Vivek)11/03/2010 10:46 AM
嗨, 感谢您与我们联系,我们很高兴能够为您提供帮助。
我目前正在研究您的问题,并将尽快向您更新。同时,我对您的问题有一些澄清:
Q:在测试Paypal Sandbox环境中的代码时,我们注意到每次单击按钮时,收件人和金额都会按照我们的要求设置,但它会带来登录屏幕。 *是的,您可以通过编程方式设置金额和收件人。它要求的登录是交易的发送者。您能否验证您正在尝试执行哪个按钮或操作?
整个拥有Android应用程序的业务的目的
您提到您想要从用户正在使用的Android设备向用户(Android应用程序的用户)发送资金,这些资金来自您的账户。这是真的吗? 如果是这种情况,为什么不能设置上述Android用户和收件人,然后您登录并发送资金。 但是,如果我没错,您希望上述Android用户启动操作并从您的帐户中取款。从技术上讲,您希望以某种方式检索资金,而不是发送资金,这是真的吗?
请澄清。
谢谢, Vivek
客户()11/03/2010 08:19 AM
嗨,
我们目前正在测试我们的Android应用程序的Paypal集成功能,我们希望用户使用Paypal从我们的帐户接收累积现金。
我们已经设置了沙箱环境,并使用了以下代码。
这是问题所在。

一旦App用户点击Paypal按钮,我们希望能够通过编程方式从应用程序中设置金额和收件人电子邮件地址,以便我们从银行账户中取出相应的金额。

newPayment.setAmount("10.00"); //lets say 10USD.
newPayment.setRecipient(""); //sandbox email setup as a personal account.

在测试Paypal沙盒环境中的代码时,我们发现每次单击按钮时,收件人和金额会按我们想要的方式设置,但会出现登录屏幕。我不明白怎么才能使其正常工作?请记住,在这种情况下,我们希望通过Paypal结账按钮预授权收件人从我们的帐户中获取应得的钱款,而不是相反。

这基本上是一种个人支付情况,我们希望向用户发送资金,而不是从App用户那里收取资金。请告知我们可能解决问题的方法?

如果这不起作用,是否有其他方法可以使用Paypal通过电子邮件地址向Android App用户付款?再次说明,这不是普通的结账情况,结账人向企业付款。

PayPal ppObj = PayPal.initWithAppID(this.getBaseContext(), "APP-80W284485P519543T", PayPal.ENV_SANDBOX);
CheckoutButton launchPayPalButton = ppObj.getPaymentButton(PayPal.BUTTON_278x43, this, PayPal.PAYMENT_TYPE_PERSONAL);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.refresh);
params.bottomMargin = 10;
launchPayPalButton.setLayoutParams(params);
launchPayPalButton.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
PayPalPayment newPayment = new PayPalPayment();
newPayment.setAmount("10.00");
newPayment.setCurrency("USD");
newPayment.setRecipient("");
newPayment.setTax("0.00");
newPayment.setShipping("0.00");
newPayment.setItemDescription("Your Payment");
newPayment.setSenderEmail("");
newPayment.setMerchantName("My Test Store");
Intent paypalIntent = new Intent(getApplicationContext(), PayPalActivity.class);
paypalIntent.putExtra(PayPalActivity.EXTRA_PAYMENT_INFO, newPayment);
UrMoney.this.startActivityForResult(paypalIntent, 1);
}

});
((RelativeLayout)findViewById(R.id.urmoney1)).addView(launchPayPalButton);

感谢您的帮助。

太好了!Paypal已经升级了它,这样我就可以使用MassPay API解决方案来绕过它,并且他们还告诉我他们会将其考虑为未来的功能请求。但是InApp反向支付会更酷。让我们拭目以待。 - Aakash
有人以前用过Paypal的MassPay API吗?非常感谢任何帮助。 - Aakash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接