0

我们的 iPad 应用程序已使用 iOS SDK v1.0.5 在沙盒模式下成功处理付款。但是,我们在测试我们的应用程序时发现了一个缺陷。请在下面找到步骤。

  1. 登录到贝宝。
  2. 使用电子邮件或电话并输入您的凭据。
  3. 点击发送付款。您将看到付款完成屏幕。点击完成按钮。
  4. 现在打开您的沙盒帐户并更改密码/pin(配置文件->更新密码)。
  5. 然后转到应用程序并尝试再次付款。PayPal sdk 直接将您导航到确认页面。
  6. 点击发送付款。

PayPal SDK 允许用户使用旧凭证(密码/密码)付款。

这是一个已知问题还是我遗漏了什么?

还有什么方法可以在每次付款后注销用户。(强制用户每次尝试付款时都必须登录,而无需手动单击注销按钮)。

4

2 回答 2

1

像这样为PayPalConfiguration实例设置rememberUser属性NO

payPalConfiguration=[[PayPalConfiguration alloc] init];
payPalConfiguration.rememberUser=NO;

然后它会要求每次登录。

于 2014-07-02T04:09:17.433 回答
1

moka,我认为你描述的场景是可以的。

在您的应用程序中,用户登录到她的 PayPal 帐户,向您付款,然后选择不退出 PayPal。

后来,在您的应用程序中,她仍然登录到她的 PayPal 帐户,即使她在其他地方更改了密码。因此,她仍然可以从该帐户向您付款。

在我看来,这一切都很好。

关于你的第二个问题:

当您调用[PayPalPaymentViewController initWithClientId:receiverEmail:payerId:payment:delegate:]时,SDK 使用payerId来确定这是新用户还是老用户。

因此,如果您在每次调用 SDK 时更改payerId,那么每次这将被解释为新用户,因此需要新的 PayPal 登录。(例如,您可以将payerId设置为[NSString stringWithFormat:@"%d",rand()] 之类的东西。)

——戴夫·戈德曼(eBay/PayPal/card.io)

于 2013-06-26T20:53:02.063 回答