且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

paypal 状态为待处理

更新时间:2023-11-29 23:51:46

我遇到了同样的问题,问题是买家使用的货币不是卖家的默认货币,并且默认 paypal 设置了一些东西比如手动批准不同的货币,因为它们有转换费.

登录您的沙盒帐户,然后单击个人资料,然后选择我的销售首选项,然后在该页面上单击付款接收首选项.然后选择

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

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

设置截图:

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

hello everyone in my application i have to use Paypal for Norway currency(NOK) and everything is fine but when i used sandbox for testing the Paypal the state comes as pending while when i tried the same code for US Dollars the state is approved why this happening. Here is my code and response

  @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);
    }

Here is the response which i got for 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;
       }  

I had the same issue, the problem is the buyer is buying buy using a currency which is not the default currency of the seller, and by default paypal set something like manually approve different currencies, as they have conversion fee.

Login to your sandbox account, and click on profile then choose My Selling Preferences and on that page click on payment receiving preferences. And there choose

Allow payments sent to me in a currency I do not hold Yes, accept and convert them to blabla

After this your tests will be back to normal and they will be approved too

Screenshots for settings:

Dont forget to save your settings after changing :)