【问题标题】:paypal status is pending贝宝状态待定
【发布时间】:2014-06-16 08:07:24
【问题描述】:

大家好,我的应用程序中的每个人我都必须使用 Paypal 换取挪威货币(NOK),一切都很好,但是当我使用沙箱测试 Paypal 时,状态处于待处理状态,而当我尝试使用相同的美元代码时,状态是批准了为什么会这样。 这是我的代码和响应

  @try
   {
    self.resultText = nil;
    NSUserDefaults *defpay=[NSUserDefaults standardUserDefaults];
    NSString *mon=[defpay objectForKey:@"month"];

    app *ap=[app new];
   dictpay=[ap paypal:mon category:_strcategoryid1 catid:_strpostid1];
    NSString *strprice=[dictpay objectForKey:@"price"];
    _lbl.text=strprice;
    NSLog(@"%@", _lbl.text);

    PayPalPayment *payment = [[PayPalPayment alloc] init];
    payment.amount = [[NSDecimalNumber alloc] initWithString:strprice];
     //payment.amount = [[NSDecimalNumber alloc] initWithString:@"12"];
    payment.currencyCode = @"NOK";
    payment.shortDescription = @"Payment";

    if (!payment.processable)
    {
        // This particular payment will always be processable. If, for
        // example, the amount was negative or the shortDescription was
        // empty, this payment wouldn't be processable, and you'd want
        // to handle that here.
    }

    // Update payPalConfig re accepting credit cards.
    self.payPalConfig.acceptCreditCards = self.acceptCreditCards;

    PayPalPaymentViewController *paymentViewController;
    paymentViewController = [[PayPalPaymentViewController alloc] initWithPayment:payment
                                                                   configuration:self.payPalConfig
                                                                        delegate:self];

    // Present the PayPalPaymentViewController.
    [self presentViewController:paymentViewController animated:YES completion:nil];


  }
   @catch(NSException *e)
    {
        NSLog(@"%@",e.reason);
    }

这是我收到的 NOK 回复

     client =     {
         environment = sandbox;
         "paypal_sdk_version" = "2.0.5";
          platform = iOS;
        "product_name" = "PayPal iOS SDK";
            };
            response =     {
       "create_time" = "2014-04-30T05:43:49Z";
       id = "PAY-7DX14671UN8535156KNQI3FI";
        intent = sale;
        state = pending;
        };
        "response_type" = payment;
       }  

【问题讨论】:

  • 沙盒卖家账户的配置方式必须使您能够接受非美元货币的付款。如果您登录卖家账户,您是否会看到旁边带有接受和拒绝按钮的交易?
  • 谁能帮我解决这个问题。我卡在这里不知道该怎么办
  • 你是否愿意承认我问你的问题,以便我可以帮助你?

标签: objective-c paypal


【解决方案1】:

更新

@stephanruhl 提供的答案是正确的,但 PayPal 进行了一些更改,那些对其说明没有用的人请按照以下步骤操作。

回答

要在状态已完成的情况下进行此付款,我们需要登录您的 PayPal 帐户 转到 我的帐户 -> 个人资料 -> 我的销售工具 ->(获得付款并管理我的风险)阻止付款并点击更新

会弹出以下画面:

滚动到允许以我不持有的货币发送给我的付款部分 并选择

通过这样做,您将能够自动确认您的付款,而无需审核每一笔(记住:必须禁用付款审核)。如果尚未禁用付款审核,请按以下步骤操作:

http://developer.paypal.com 下转到您的应用程序。点击沙盒帐户并选择您的企业电子邮件,点击个人资料链接。选择设置标签,然后关闭付款审核。您将获得 Approved 状态 PayPal PaymentCompleted Sale JSON对象。 (原帖:Paypal Sandbox payment state pending

希望对你有帮助:)

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,问题是买家购买时使用的货币不是卖家的默认货币,并且默认情况下,paypal 设置了手动批准不同货币之类的设置,因为它们有转换费。

    登录您的沙盒帐户,然后点击个人资料,然后选择我的销售偏好,然后在该页面上点击付款接收偏好。然后选择

    允许以我不持有的货币向我发送付款 是的,接受并将它们转换为 blabla

    在此之后,您的测试将恢复正常,它们也将获得批准

    设置截图:

    更改后不要忘记保存设置:)

    【讨论】:

    • @Rick4444 我添加了截图
    • 我没有得到这种类型的个人资料页面。请查看我的个人资料页面的屏幕截图
    • @Rick4444 截图在哪里?
    • 我找不到这种类型的个人资料页面,你能给我那个页面的链接吗
    • @Rick4444 sandbox.paypal.com 并使用您的商家/卖家测试帐户登录
    猜你喜欢
    • 2013-10-01
    • 2014-07-30
    • 2014-06-18
    • 1970-01-01
    • 2023-04-04
    • 2015-01-03
    • 1970-01-01
    • 2013-12-14
    • 2016-06-05
    相关资源
    最近更新 更多