everyPay-ios 3.3.2

everyPay-ios 3.3.2

测试已测试
语言语言 Obj-CObjective C
许可证 Apache-2.0
发布最后发布2020年11月

Every PayeveryPay-iosLaas Toom 维护。



  • EveryPay

EveryPay iOS SDK

概述

EveryPay SDK 有两种支付流程:

  1. 替代支付方式 (APM) 流程
    APM 屏幕显示预配置的卡片详细信息表单,用户必须输入其卡片信息以执行支付。
  2. 卡片支付流程
    在卡片支付屏幕上,会打开全屏 WebView,并在其中打开关联的 payment_link

注意! 如果您的服务器在非安全(http)域名上运行,您必须在您的 Info.plist 文件中添加以下项,以便 SDK 正常工作。否则 ATS 将会因 TLS 握手而发出警告。

    <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
                <true/>
        </dict>

需求

everyPay SDK 使用 NSURLSession 需要 iOS 8 或更高版本。

SDK 版本管理及 EveryPay API 版本映射

EveryPay API 自 v3 版本起,仅对主要版本进行增量修改,例如 v2、v3、v4 等。

SDK 版本具有 主要.次要.补丁 的语义

  • 主要:对应 SDK 自身的重大变更(例如,付款流程的更改)
  • 次要:对应 EveryPay API 版本
  • 补丁:对应 SDK 中的任何非破坏性更改。

示例映射

  • SDK 3.3.* -> API v3

集成 SDK

使用 CocoaPods

将 'everyPay-ios' 添加到 podfile,并在需要的地方包含 SDKPaymentKit.h。

  pod 'everyPay-ios', '~> 3.3'

手动操作

将文件夹 sdk 添加到您的项目中,并在需要的地方包含 SDKPaymentKit.h。

配置 SDK 参数

在 APIConnect.h 中将 kAPIUserName、kAPISecret、kBaseURL 和 kToken 修改为您的需求。

static NSString *const kAPIUserName = YOUR_USER_NAME;
static NSString *const kAPISecret = YOUR_PASSWORD;
static NSString *const kBaseURL = YOUR_URL;
static NSString *const kToken = YOUR_TOKEN;

开始每付付款

NSString *host = @"https://igw-demo.every-pay.com"; // get from Setting page
NSString *apiUsername = @"7a40a7d7e0b9b13d";  //get from API
NSString *mobileToken = @"2589e754dbaada212901039c7a08275e84777c42"; //get from API
NSString *currency = @"EUR"; //get from API
NSString *paymentLink = @"https://igw-demo.every-pay.com/lp/76c78d/fofrnq?method_source=card"; //get from API
NSString *amount = @"10"; //get from API
NSString *paymentType = @"card"; //get from API

SDKPaymentKit *sdkPayment = [SDKPaymentKit initWithUserName:apiUsername andHost:host andAmount:amount andCurrency:currency];
[sdkPayment paymentWithMobileToken:mobileToken andPaymentLink:paymentLink andPaymentType:paymentType andDelegate:self];

注意:自3.3.0版本以来,每付对象的初始化已更改。首先您需要调用[SDKPaymentKit initWithUserName:apiUsername andHost:host andAmount:amount andCurrency:currency];

创建一个新的每付对象,例如在您的付款中

SDKPaymentKit *sdkPayment = [SDKPaymentKit initWithUserName:apiUsername andHost:host andAmount:amount andCurrency:currency];

apiUsername 是商户的用户名。
host 是每付GW的主机,例如igw-demo.every-pay.com/
amount 是交易金额,使用两位小数的十进制数,例如10.55
currency 是处理账户的货币

如何集成支付流程

当用户准备好开始且已通过initv3方法配置SDK时,我们可以通过以下方式启动支付流程

[sdkPayment paymentWithMobileToken:mobileToken andPaymentLink:paymentLink andPaymentType:paymentType andDelegate:self];

paymentLink 是支付链接。
paymentType 是支付流程的类型。
mobileToken 是仅在卡支付流程中使用的令牌。
此SDK有两个支付流程

  1. 卡支付流程如果method_source是card
[sdkPayment paymentWithMobileToken:mobileToken andPaymentLink:paymentLink andPaymentType:@"card" andDelegate:self];
  1. 替代支付方式(APM)流程如果method_source不是card,例如:银行
[sdkPayment paymentWithMobileToken:@"" andPaymentLink:paymentLink andPaymentType:@"bank" andDelegate:self];

结果 成功委托 paymentSuccess 在支付成功时调用

- (void)paymentSuccess {
    NSLog(@"SUCCESS");
}

如果失败,它将调用失败委托 paymentFailure

- (void)paymentFailure {
    NSLog(@"FAILURE");
}

自定义卡输入表单

如果每付卡输入表单与您的要求不符,或者如果您希望添加超出配置选项的自定义品牌,则可以创建一个自定义表单。自定义卡表单有两个要求

- (void)everyPayCardSettings {
    [SDKPaymentSettings setTitleColor:[UIColor redColor]];
    [SDKPaymentSettings setLineColor:[UIColor redColor]];
    ...
}