测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布上次发布 | 2014年12月 |
由 Ayaka Nonaka、Mark Adams、Dasmer Singh 维护。
依赖 | |
VENCore | ~> 3.0.0 |
SSKeychain | ~> 1.2.2 |
CMDQueryStringSerialization | ~> 0.2.0 |
Venmo iOS SDK 允许您在应用程序中使用 Venmo 进行付款和收款。
如果您正在使用 CocoaPods
pod 'Venmo-iOS-SDK', '~>1.0.0'
如果您不使用 CocoaPods
克隆此仓库并将它添加到您的项目中(这是一个多步骤的过程,但这是可能的)。我们建议现在使用 CocoaPods。
使用 Venmo iOS SDK 和 Venmo 向朋友发送钱一样简单!
app id
和 app secret
。Info
部分,滚动到 URL Types
。添加一个具有以下属性的新的 URL 类型
标识符: venmo<<YOUR_APP_ID>>
URL 方案: venmo<<YOUR_APP_ID>>
例如,如果您的应用 ID 为 1234
,请输入 venmo1234
。
注意:如果您正在使用Parse SDK并遇到问题,请查阅此 gist。
将 Venmo SDK 的头文件添加到您的 app 委托人中。将此头文件导入到您的实现文件中以使用 SDK。
#import <Venmo-iOS-SDK/Venmo.h>
将以下代码添加到您 app 委托人的 application:didFinishLaunchingWithOptions:
方法中初始化 SDK。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Venmo startWithAppId:@"VENMO_APP_ID" secret:@"VENMO_APP_SECRET" name:@"VENMO_APP_NAME"];
return YES;
}
VENMO_APP_ID
:来自您在 Venmo 开发者网站上注册的应用的 IDVENMO_APP_SECRET
:来自您在 Venmo 开发者网站上注册的应用的 密钥VENMO_APP_NAME
:将显示在 Venmo 应用中的应用名称(例如,“通过 My Supercool App 发送”)要允许 Venmo iOS SDK 处理 Venmo 应用程序的响应,请将以下代码添加到您应用程序代理的 application:openURL:sourceApplication:annotation:
方法中:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([[Venmo sharedInstance] handleOpenURL:url]) {
return YES;
}
// You can add your app-specific url handling code here if needed
return NO;
}
Venmo iOS SDK 允许您以两种方式发送付款:
切换到 Venmo 应用程序
[[Venmo sharedInstance] setDefaultTransactionMethod:VENTransactionMethodAppSwitch];
使用 Venmo API
[[Venmo sharedInstance] setDefaultTransactionMethod:VENTransactionMethodAPI];
如果用户未安装 Venmo 应用程序,我们建议通过 Venmo API 发送交易。
if (![Venmo isVenmoAppInstalled]) {
[[Venmo sharedInstance] setDefaultTransactionMethod:VENTransactionMethodAPI];
}
else {
[[Venmo sharedInstance] setDefaultTransactionMethod:VENTransactionMethodAppSwitch];
}
您可以使用 requestPermissions:withCompletionHandler:
请求对用户 Venmo 账户的访问权限。这些权限可以使用 这些作用域 指定。如果用户安装了 Venmo 应用程序,则 requestPermissions:withCompletionHandler
将将用户切换到 Venmo 应用程序中的授权页面。否则,用户将被引导到 Safari 的授权页面。用户授予或拒绝权限后,将被重定向回您的应用程序。
[[Venmo sharedInstance] requestPermissions:@[VENPermissionMakePayments,
VENPermissionAccessProfile]
withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
// :)
}
else {
// :(
}
}];
设置所需的交易方式并请求权限(如果您想使用 Venmo API)后,您可以使用 sendPaymentTo:amount:note:completionHandler:
发送付款。要发送 付款请求(即收费),请使用 sendRequestTo:amount:note:completionHandler:
。
[[Venmo sharedInstance] sendPaymentTo:self.toTextField.text
amount:self.amountTextField.text.floatValue*100
note:self.noteTextField.text
completionHandler:^(VENTransaction *transaction, BOOL success, NSError *error) {
if (success) {
NSLog(@"Transaction succeeded!");
}
else {
NSLog(@"Transaction failed with error: %@", [error localizedDescription]);
}
}];
在 sample
目录中包含一个示例应用程序,名为 MiniVenmo,该程序演示了如何使用 Venmo iOS SDK 进行登录并发送付款。
我们欢迎您提出改进此库的想法!最好的贡献方式是通过提交拉取请求 - 我们将尽全力尽快响应您的补丁。如果发现错误或有任何疑问,您还可以 提交问题。
请确保遵循我们的通用编码风格并添加对新功能的测试覆盖!