PPGAppKit 0.0.34

PPGAppKit 0.0.34

Srinivas Prabhu 维护。



PPGAppKit 0.0.34

  • PayPro Global, Inc

介绍

PayPro Global Inc 通过复杂的支付处理系统,提供了最好的购物体验,该系统提供安全交易、多功能性(满足所有客户偏好的多种选项)、用户友好体验(本地化内容、支付方式和货币)以及最高程度的交易完成度。

PPGAppKit 是 PayPro Global 的 SDK,它使您能够快速将我们的购物体验集成到 Mac App 中。

此 SDK 在 Webview 上是一个薄层,它使您能够在 Mac App 中集成 PayProGlobal 电子商务解决方案。

为了了解其工作原理,SDK 提供了 Swift 和 Objective-C 示例。所有源代码都是在 MIT 许可下发布的。它开放接受贡献,且使用不受限制。

PPGAppKit

PPGAppKit 由两个主要组件组成:PayProWebViewConfiguration

PayProWebView 提供加载 PayPro Global 电子商务解决方案的功能。使用 Configuration 对象初始化 PayProWebView,并嵌入到 Mac App 中。这个文档提供了如何构造提供给 Configuration 对象的 URL 的详细信息。一旦提交订单并在感谢页面上加载,您将通过 WebView 的 HTTP 响应头获得 PayProGlobal 订单号、状态和发票链接。

要求

  • Xcode 11.x

  • Swift 5.x

  • Objective-C 2.0

安装

CocoaPods

# Podfile 

use_frameworks! 

  

target 'YOUR_TARGET_NAME' do 

    pod 'PPGAppKit' 

end 

  

替换YOUR_TARGET_NAME,然后,在Podfile目录中,输入

$ pod install 

如果您尚未安装CocoaPods,可以使用以下命令进行安装

$ sudo gem install cocoapods 

Swift Package Manager

要添加包依赖到您的Xcode项目,选择“文件”>“Swift Packages”>“添加包依赖”,然后输入其仓库URL https://github.com/paypro-global/MacOsWebViewSDK.git

如何在Swift中使用PPGAppKit

  1. 阅读我们的URL参数指南了解有关URL参数的信息。

  2. 使用步骤1中解释的URL参数创建Configuration对象。

  3. 使用包含Configuration对象的初始化创建PayProGlobal

  4. 观察didFail/didStartPaymentViewLoad/didFinishPaymentViewLoad以跟踪URL加载的进度。

  5. 观察didCompletedOrder,它在订单完成后与订单信息一起调用。

  6. 观察urlCredential方法来处理身份验证挑战。

  7. PayProGlobal中访问paymentView对象,并将其作为任何NSWindow的子视图添加。

位于Example/Swift目录中的示例说明了如何创建PayProGlobal及其详细使用方式。

如安装部分中所述,使用Swift Package或CocoaPods。

如果您已使用SwiftPackage,打开PayProGlobalStore.xcodeproj,构建并运行。

如果您已使用CocoaPods,打开PayProGlobalStore.xcworkspace,构建并运行。

示例

    private lazy var payproGlobal: PayProGlobal = { 

       let configuration = Configuration(url: "https://store.payproglobal.com/checkout?products[1][id]=59421&use-test-mode=true&secret-key=gEcP!-xp9M") 

       return PPGAppKit.create(configuration: configuration) 

    }() 

            

    private func load(){ 

       let paymentView = payproGlobal.paymentView 



       payproGlobal.didFail = { (error) in 

           print("Did Fail \(error)") 

       } 

        

       payproGlobal.didStartPaymentViewLoad = { 

           print("didStartPaymentViewLoad ") 

       } 

        

       payproGlobal.didFinishPaymentViewLoad = { 

           print("didFinishPaymentViewLoad ") 

       } 
       
       
       
       payproGlobal.didCompletedOrder = { (orderInfo) in
           print("did complete Order \(orderInfo)")
       }



       payproGlobal.urlCredential = { [weak self] (crediential) in 

           self?.showAuthenticationUI(with: crediential) 

       } 

        

       paymentView.translatesAutoresizingMaskIntoConstraints = false 

       container.addConstraints(paymentViewConstraints) 

       container.addSubview(paymentView) 

    } 

如何在 Objective-C 中使用 PPGAppKit

  1. 阅读我们的URL参数指南了解有关URL参数的信息。

  2. 使用以下方式创建 Configuration 对象

  3. 使用 Configuration 对象初始化 PayProGlobal。示例位于 Example/Swift 和 Example/Objective-C 中,展示了如何创建 PayProGlobal 并详细使用它。

  4. 观察didFail/didStartPaymentViewLoad/didFinishPaymentViewLoad以跟踪URL加载的进度。

  5. 观察didCompletedOrder,它在订单完成后与订单信息一起调用。

  6. 观察urlCredential方法来处理身份验证挑战。

  7. PayProGlobal中访问paymentView对象,并将其作为任何NSWindow的子视图添加。

位于 Example/Objectice-C 文件夹中的示例展示了如何创建 PayProGlobal 并详细使用它。

运行以下命令,使用 CocoaPods 创建 XcodeWorkspace

$ cd [../Example/Objective-C] 

$ pod install 

如果您尚未安装CocoaPods,可以使用以下命令进行安装

$ sudo gem install cocoapods 

打开 PayProGlobalStore.xcworkspace ,构建并运行。

示例

Configuration *configuration = [[Configuration alloc] initWithUrl:@"https://store.payproglobal.com/checkout?products[1][id]=59421&use-test-mode=true&secret-key=gEcP!-xp9M"]; 

self.payproGlobal = [PPGAppKit createWithConfiguration:configuration]; 



self.payproGlobal.didStartPaymentViewLoad = ^(){ 

   NSLog(@"Did start"); 

}; 



self.payproGlobal.didFinishPaymentViewLoad = ^(){ 

   NSLog(@"Did Finish"); 

}; 

self.payproGlobal.didCompletedOrder = ^(NSDictionary<NSString *,id> * orderInfo){ 

   NSLog(@"did Complete Order %@",orderInfo);

}; 


self.payproGlobal.didFail  = ^(NSError * error) { 

   NSLog(@"Did Fail"); 

}; 


__weak ViewController *weakSelf = self; 



self.payproGlobal.urlCredential = ^(void (^ callback)(NSURLCredential * _Nullable)) { 

   [weakSelf showAlert:callback]; 

}; 



NSView *paymentView = [self.payproGlobal paymentView]; 

[paymentView setTranslatesAutoresizingMaskIntoConstraints:false]; 

[self.container addSubview:paymentView]; 

沙箱设置

如果您的应用被沙箱化,你应在签名与能力标签中完成以下操作

  1. 启用 出站连接(客户端) 允许框架将数据发送给 PayPro Global。

  2. 启用 打印 允许框架打印发票。

  3. 框架通过提供对 用户选择的文件读写访问 支持保存发票功能。

Sandbox Settings