本文介绍了paypal 状态为待处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,我的应用程序中的每个人我都必须使用 Paypal 兑换挪威货币(NOK),一切都很好,但是当我使用沙盒测试 Paypal 时,状态变为待处理,而当我尝试使用相同的美元代码时,状态是批准为什么会发生这种情况.这是我的代码和回复

 @try{self.resultText = nil;NSUserDefaults *defpay=[NSUserDefaults standardUserDefaults];NSString *mon=[defpay objectForKey:@"month"];应用 *ap=[应用新];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.processable){//此特定付款将始终可处理.如果,对于//例如,金额为负数或 shortDescription 为//为空,这笔付款将无法处理,您需要//在这里处理.}//更新 payPalConfig 重新接受信用卡.self.payPalConfig.acceptCreditCards = self.acceptCreditCards;PayPalPaymentViewController *paymentViewController;paymentViewController = [[PayPalPaymentViewController alloc] initWithPayment:payment配置:self.payPalConfig委托:自己];//显示 PayPalPaymentViewController.[self presentViewController:paymentViewController 动画:YES 完成:nil];}@catch(NSException *e){NSLog(@"%@",e.reason);}

这是我收到的 NOK 回复

 客户端 = {环境=沙箱;"paypal_sdk_version" = "2.0.5";平台 = iOS;"product_name" = "PayPal iOS SDK";};响应 = {"create_time" = "2014-04-30T05:43:49Z";id = "PAY-7DX14671UN8535156KNQI3FI";意图 = 销售;状态 = 待定;};response_type" = 付款;}
解决方案

我遇到了同样的问题,问题是买家使用的货币不是卖家的默认货币,并且默认 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);
    }
     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 holdYes, 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 :)

这篇关于paypal 状态为待处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 13:46