iOS Paypal 移动 SDK - 支付证明

Posted

技术标签:

【中文标题】iOS Paypal 移动 SDK - 支付证明【英文标题】:iOS Paypal Mobile SDK - Proof of Payment 【发布时间】:2016-01-29 16:51:59 【问题描述】:

我在我的应用中集成了适用于 ios 的 Paypal Mobile SDK。

在委托 Methode completePayment 中,我得到了这个 json:

CurrencyCode: EUR
Amount: 39.95
Short Description: Michaels Test
Intent: sale
Processable: Already processed
Display: €39.95
Confirmation: 
    client =     
        environment = mock;
        "paypal_sdk_version" = "2.12.3";
        platform = iOS;
        "product_name" = "PayPal iOS SDK";
    ;
    response =     
        "create_time" = "2015-10-29T13:18:02Z";
        id = "PAY-NONETWORKPAYIDEXAMPLE123";
        intent = sale;
        state = approved;
    ;
    "response_type" = payment;

Details: (null)
Shipping Address: (null)
Invoice Number: (null)
Custom: (null)
Soft Descriptor: (null)
BN code: (null)

它说创建成功。但是当在 developer.paypal.com 中查看我的仪表板时,我看不到任何交易。 对于环境,我使用 paypal-sandbox。

在文档中说我必须使用 rest-api 来验证即时付款:https://developer.paypal.com/docs/integration/mobile/verify-mobile-payment/

那么我是否需要一个后端服务来验证我从客户端创建的付款,或者我现在需要做什么?

谢谢, 迈克尔

【问题讨论】:

【参考方案1】:

在此处使用您的沙盒帐户登录...Sandbox Paypal Site。您将能够在 Paypal 的沙盒网站上看到在沙盒环境中进行的交易。

查看您的确认消息,您正在PayPalEnvironmentNoNetwork 模式下运行您的应用程序。

/// Production (default): Normal, live environment. Real money gets moved.
/// This environment MUST be used for App Store submissions.
extern NSString *const PayPalEnvironmentProduction;
/// Sandbox: Uses the PayPal sandbox for transactions. Useful for development.
extern NSString *const PayPalEnvironmentSandbox;
/// NoNetwork: Mock mode. Does not submit transactions to PayPal. Fakes successful responses. Useful for unit tests.
extern NSString *const PayPalEnvironmentNoNetwork;

您需要在SandBox 环境中运行您的应用程序。获取YOUR_CLIENT_ID_FOR_SANDBOX 并用它初始化你的PayPal

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

  [PayPalMobile initializeWithClientIdsForEnvironments:@PayPalEnvironmentSandbox : @"YOUR_CLIENT_ID_FOR_SANDBOX"];
  return YES;

然后您将能够在上述链接网站中看到交易。

【讨论】:

我知道但没有交易,所以我想知道为什么没有交易。我的应用程序显示付款已完成。那么在我上面描述的那个之后我需要做进一步的步骤吗? Thx 似乎是我正在寻找的解决方案。但是现在当我尝试登录时出现内部服务器故障:PayPal SDK:请求失败并出现错误:INTERNAL_SERVICE_ERROR - Systemfehler。 Versuchen Sie es später noch einmal。 (500) | PayPal Debug-ID: daef14f8f849c [sandbox, PayPal iOS SDK 2.12.3]....我在 Github 上的 iOS Paypal Mobile SDK 中打开了一个问题,希望他们能尽快修复它。 你好 @EckMich ,我已经看到你的查询,我被困在同一点上。我知道它已经太久了,我真的很想知道,你有解决这个问题的方法吗?我也得到(沙盒帐户上的 500 错误)。将不胜感激。谢谢。

以上是关于iOS Paypal 移动 SDK - 支付证明的主要内容,如果未能解决你的问题,请参考以下文章

PayPal iOS SDK - 付款不适用于具有移动 SDK 类型集成的应用程序

PayPal 移动 SDK,链式支付

PayPal iOS SDK授权支付

IOS SDK 中的自适应支付

PHP - PayPal 自适应支付(延迟链式支​​付)

PayPal 自适应支付延迟链式支​​付的接收方配置