Skip to content

qinganw/pingpp-ios

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pingpp iOS SDK

简介

lib 文件夹下是 iOS SDK 文件,
example 文件夹里面是一个简单的接入示例,该示例仅供参考。

当前版本,不需要微信的 SDK,可以正常调用微信支付

版本要求

iOS SDK 要求 iOS 6.0 及以上版本

接入方法

安装

使用 CocoaPods

  1. Podfile 添加

    pod 'Pingpp', '~> 2.2.9'
    

    默认会包含支付宝、微信和银联。你也可以自己选择渠道。
    目前支持以下模块:

    • Alipay(支付宝移动支付)
    • Wx(微信 App 支付)
    • QQWallet(QQ钱包 App 支付)
    • UnionPay(银联手机支付)
    • ApplePay
    • Cnp(应用内快捷支付)
    • Fqlpay(分期乐)
    • Qgbc(量化派)
    • Mmdpay(么么贷)
    • CmbWallet(招行一网通)
    • BfbWap(百度钱包 Wap 支付)
    • Yeepay(易宝支付 Wap 支付)
    • Jdpay(京东支付 Wap 支付)
    • One(壹收款)

    例如:

    pod 'Pingpp/Alipay', '~> 2.2.9'
    pod 'Pingpp/UnionPay', '~> 2.2.9'
    pod 'Pingpp/One', '~> 2.2.9'
    
  2. 运行 pod install

  3. 从现在开始使用 .xcworkspace 打开项目,而不是 .xcodeproj

  4. 添加 URL Schemes:在 Xcode 中,选择你的工程设置项,选中 "TARGETS" 一栏,在 "Info" 标签栏的 "URL Types" 添加 "URL Schemes",如果使用微信,填入所注册的微信应用程序 id,如果不使用微信,则自定义,允许英文字母和数字,首字母必须是英文字母,建议起名稍复杂一些,尽量避免与其他程序冲突。

  5. 2.1.0 及以上版本,可打开 Debug 模式,打印出 log,方便调试。开启方法:[Pingpp setDebugMode:YES];

  6. 2.2.8 及以上版本,可选择是否在 WAP 渠道中支付完成后,点击“返回商户”按钮,直接关闭支付页面。开启方法:[Pingpp ignoreResultUrl: YES];

手动导入

  1. 获取 SDK
    下载 SDK, 里面包含了 lib 文件夹和 example 文件夹。lib 文件夹里面是 SDK 的文件。

  2. 依赖 Frameworks:

    必需:

    CFNetwork.framework
    SystemConfiguration.framework
    Security.framework
    QuartzCore.framework
    CoreTelephony.framework
    libc++.tbd
    libz.tbd
    libsqlite3.0.tbd
    libstdc++.tbd
    CoreMotion.framework
    

    百度钱包所需:

    AddressBook.framework
    AddressBookUI.framework
    AudioToolbox.framework
    CoreAudio.framework
    CoreGraphics.framework
    ImageIO.framework
    MapKit.framework
    MessageUI.framework
    MobileCoreServices.framework
    

    Apple Pay 所需:

    PassKit.framework
    
  3. 如果不需要某些渠道,删除 lib/Channels 下的相应目录即可。

  4. 添加 URL Schemes:在 Xcode 中,选择你的工程设置项,选中 "TARGETS" 一栏,在 "Info" 标签栏的 "URL Types" 添加 "URL Schemes",如果使用微信,填入所注册的微信应用程序 id,如果不使用微信,则自定义,允许英文字母和数字,首字母必须是英文字母,建议起名稍复杂一些,尽量避免与其他程序冲突。

  5. 添加 Other Linker Flags:在 Build Settings 搜索 Other Linker Flags ,添加 -ObjC

  6. 2.1.0 及以上版本,可打开 Debug 模式,打印出 log,方便调试。开启方法:[Pingpp setDebugMode:YES];

  7. 2.2.8 及以上版本,可选择是否在 WAP 渠道中支付完成后,点击“返回商户”按钮,直接关闭支付页面。开启方法:[Pingpp ignoreResultUrl: YES];

额外配置

  1. iOS 9 以上版本如果需要使用支付宝和微信渠道,需要在 Info.plist 添加以下代码:

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>weixin</string>
        <string>wechat</string>
        <string>alipay</string>
        <string>alipays</string>
        <string>mqq</string>
    </array>
    
  2. iOS 9 限制了 http 协议的访问,如果 App 需要访问 http://,需要在 Info.plist 添加如下代码:

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  3. 如果编译失败,遇到错误信息为:

    XXXXXXX does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
    

    请到 Xcode 项目的 Build Settings 标签页搜索 bitcode,将 Enable Bitcode 设置为 NO

  4. 如果不需要应用内快捷支付,请删除 Channels/Cnp 目录。否则,请把 Build Settings 中的 CLANG_CXX_LIBRARY 改成 libstdc++

  5. CmbWallet(招行一网通) 需要把 招行一网通 提供的秘钥CMBPublicKey 添加到 Info.plist 如以下代码:

    <key>CMBPublicKey</key>          
        <string>IwxiAyJIT4tlwJSCbRRE0jZFTvYjt02/CrlutsMzd5O4B9PaVyUmIKSasdasdasdhWTyp3Bb9T7c9ujiUJOJ8y7893grwEae9yiOBoBmByVsCMTaxnc+lMr7A9ifk48Tz61WxsxnQTyYzrIVbuerQIUi3PSORwcPMRqi+XLX8qPXkNpLT9dMvjOasdasdasdUaAdPFc2YFHwl9dHf2ydQsxh1BHvaVO0OO+GtZ04ZKjxRyJW2HfghKLJijl;XTjrWSNizcdoefFKQsTdzvcPNvx7PsxuXKo9SosheeS/SHPk9sGNdwvL55yEBA8gNs0XZbkxJYjuwrwsQInC/N6QSaI0f0kyTA==
        </string>
    
  6. CmbWallet(招行一网通) 手动导入 : 需要把 lib/Channels/CmbWallet目录下的 SecreteKeyBoard文件夹手动添加到 工程中的 Assets.xcassets 添加成功后即可删除

  7. CmbWallet(招行一网通) pod 安装 : 需要把 Pods/Pingpp/CmbWallet目录下的 SecreteKeyBoard文件夹手动添加到 工程中的 Assets.xcassets 添加成功后即可删除

关于如何使用 SDK 请参考 开发者中心 或者 example 文件夹里的示例。

注意事项

  • 由于百度钱包 SDK 不支持 iOS 模拟器,目前带有百度钱包的 Ping++ SDK 只能运行于真机。
  • 如果不需要 Apple Pay,请不要导入 Apple Pay 的静态库。以免提交到 App Store 时审核不通过。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 49.2%
  • Objective-C++ 26.5%
  • Swift 13.5%
  • Ruby 8.5%
  • HTML 2.3%