CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
标签: 钱台交易云-线上收银台
https://github.com/QTPay/QTPaySDK-iOS/archive/ui_checkout_all.zip添加步骤:
必要依赖 Frameworks:
导入支付宝和微信SDK(若工程集成过或使用CocoaPods集成则无需导入):
AlipaySDK:
WeChatSDK:
#import <QTPaySDK/QTPaySDK.h>
#import <QTPaySDK/QTPayOrder.h>支付过程参与对象:
Client:集成方的终端(iOS/Android/Web)Server:集成方的后台QTCloud: 钱台支付服务方的云平台Client后,Client请求Server获取UserToken(同时Server与QTCloud同步UserToken)Client初始化QTPaySDK相关参数 [QTPaySDK setQTPayWithAppCode:@"123456"
appKey:@"123456"
accessToken:self.userToken
appScheme:@"QTPaySDKDemo"];Clinet请求Server获取OrderToken) // 生成订单对象
QTPayOrder *prePayOrder = [QTPayOrder new];
prePayOrder.order_token = @"A764593SADD66523HSGA67575G";
prePayOrder.out_sn = @"JK2364563SA978638ADASD76523748";
prePayOrder.pay_amt = @"1000";
prePayOrder.total_amt = @"1000";
prePayOrder.goods_info = @"包含基础护手,卸甲油胶,不含卸光疗延长甲.";
prePayOrder.goods_name = @"武媚娘美甲基础套餐";
prePayOrder.goods_num = @"3";
prePayOrder.mobile = @"18888888888";
prePayOrder.mchnt_name = @"武媚娘";
prePayOrder.actionType = QTActionTypeGoods;
prePayOrder.goods_memo = @"媚娘的店,有你好看,年终大促,买3赠1."; [[QTPaySDK defaultService] fetchUserDiscountInfoWithQueryType:(QTQueryDiscountType)type amount:(NSString *)amount
callBack:^(NSDictionary *resultDic) {
// 处理回调返回的用户账户信息,用于展示和选择
}]; [[QTPaySDK defaultService] paymentRequestWithOrder:self.order
callBack:^(QTRespCode respCode,
QTPayType PayType,
NSDictionary *resultDic) {
// 处理回调返回的支付结果
}]; [[QTPaySDK defaultService] paymentRechargeRequestWithOrder:self.order
callBack:^(QTRespCode respCode,
QTPayType PayType,
NSDictionary *resultDic) {
// 处理回调返回的余额支付结果
}];在App中下面Delegate系统回调方法中调用 QTPaySDK 提供的API接口。
App系统回调方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;调用 QTPaySDK 提供的接收方法:
- (void)processOrderWithPaymentResult:(NSURL *)resultUrl standbyCallback:(PayCompletionBlock)payCompletionBlock; [[QTPaySDK defaultService] fetchBalanceRechargeDiscountInfoWithAmount
callBack:^(NSDictionary *resultDic) {
//处理回调返回的账户余额充值金额对应的优惠信息
}]; [[QTPaySDK defaultService] queryBalanceRechargeDiscountRuleCallBack:^(NSDictionary *resultDic) {
//处理回调返回的账户余额充值金额规则
}]; [[QTPaySDK defaultService] fetchOrderResultCallBack:^(NSDictionary *resultDic) {
//处理回调返回的服务器订单结果
}]; [[QTPaySDK defaultService] fetchOrderShareURLCallBack:^(NSDictionary *resultDic) {
//处理回调返回的红包URL
}]; //QTSDKModelType:
//QTSDKModelTypeSandBox 沙盒环境(用于前期接入)
//QTSDKModelTypeProduction 正式环境(用于产品上线)
//QTSDKModelTypeTest 测试调试(用于Debug)
[QTPaySDK setQTPayModel:(QTSDKModelType) model] [QTPaySDK fetchCheckoutConfigWithOrder:self.order callBack:^(NSDictionary *resultDic) {
//处理回调返回的收银台动态配置信息,用于配置收银台UI内容.
}]; [[QTPaySDK defaultService] presentPaymentViewWithOrder:self.order
withCompletion:^(QTRespCode respCode,
QTPayType PayType,
NSDictionary *resultDic) {
// 处理回调返回的收银台支付结果
}];注:详细的接口说明请见QTPaySDK.h文件。
标签: 钱台交易云-线下收款
* `Scheme` (设置iOS App的Scheme)
* `TransferKey`(对称加密的Key,值写死为"qpos")
* 安装`钱方商户` iOS App
钱方商户App 并支付| 字段名 | 字段类型 | 字段含义 |
|---|---|---|
| pay_order_create | string | 支付订单创建者id,对应下单接口返回的create_userid字段 |
| pay_order_id | string | 支付订单id,对应下单接口返回的order_id字段 |
| platform | string | 网页端调用时填“1”,App调用时填"2" |
| qf_token | string | 用户token,对应下单接口返回的qf_token字段 |
| scheme | string | iOS App的Scheme |
| timestamp | string | 发起请求的Unix时间戳 |
url:
qpos://?pay_order_create=HHIKO121233S&pay_order_id=MX5FG2129HFD&platform=2&qf_token=be7018a1f5c24c7281bcc317dc5543ed&scheme=appdemo×tamp=1426497589NSURL *url = [NSURL URLWithString:@"url"];
[[UIApplication sharedApplication] openURL:url];钱方商户App 的支付结果| 字段名 | 字段类型 | 字段含义 |
|---|---|---|
| pay_order_id | string | 支付订单id |
| status_code | string | 交易状态码,0000表示成功,1111表示失败 |
| timestamp | string | 返回结果的Unix时间戳 |
| sign | string | 以上字段升序排列后加上TransferKey后算出的MD5值(32位大写) |
在App中下面Delegate系统回调方法中接收钱方商户App返回的支付结果。
App系统回调方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;