标签: 钱台交易云-线上收银台
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=1426497589
NSURL *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;