// // KWMPayUtil.m // iCemarose // // Created by HouWeiBin on 2017/6/15. // Copyright © 2017年 kollway. All rights reserved. // #import "KWMPayUtil.h" #import "KWMStringUtil.h" @implementation KWMPayUtil +(NSString *)payTypeString:(KWMPayType)payType{ NSString *payTypeString = @""; switch (payType) { case TypeNone: payTypeString = @"请选择一种付款方式"; break; case TypeCredit: payTypeString = @"信用卡支付"; break; case TypeWechatPay: payTypeString = @"微信支付"; break; case TypeAlipay: payTypeString = @"支付宝支付"; break; case TypeWebpay: payTypeString = @"网页支付"; } return payTypeString; } +(NSDictionary *)wechatPayParameters:(BUYCheckout *)checkout{ //这是测试商店的单,先用来测试 #if DEBUG NSString *checkout_token = checkout.token; NSString *total_price = [NSString stringWithFormat:@"%.2f",checkout.totalPrice.floatValue]; //先写test,后面改成正式的订单描述 #else NSString *checkout_token = checkout.token; //需要保留小数点后两位(包括小数点后的.00),以保持与后台一致,从而验证通过 NSString *total_price = [NSString stringWithFormat:@"%.2f",checkout.totalPrice.floatValue]; #endif NSString *ip_address = @"127.0.0.1"; NSString *before_sign = [NSString stringWithFormat:@"checkout_token=%@&ip_address=%@&total_price=%@&key=%@", checkout_token,ip_address,total_price,User_Pay_KEY]; NSString *base64String = [KWMStringUtil BASE64:before_sign]; NSString *sign = [KWMStringUtil MD5:base64String]; NSDictionary *parameters = @{ @"ip_address":ip_address, @"checkout_token":checkout_token, @"total_price":total_price, @"sign":sign }; return parameters; } +(NSDictionary *)aliPayParameters:(BUYCheckout *)checkout{ //这是测试商店的单,先用来测试 #if DEBUG NSString *checkout_token = checkout.token; NSString *total_price = [NSString stringWithFormat:@"%.2f",checkout.totalPrice.floatValue]; #else NSString *checkout_token = checkout.token; //需要保留小数点后两位(包括小数点后的.00),以保持与后台一致,从而验证通过 NSString *total_price = [NSString stringWithFormat:@"%.2f",checkout.totalPrice.floatValue]; #endif NSString *before_sign = [NSString stringWithFormat:@"checkout_token=%@&total_price=%@&key=%@", checkout_token,total_price,User_Pay_KEY]; NSString *base64String = [KWMStringUtil BASE64:before_sign]; NSString *sign = [KWMStringUtil MD5:base64String]; NSDictionary *parameters = @{ @"checkout_token":checkout_token, @"total_price":total_price, @"sign":sign }; return parameters; } //现在在两个地方会用到这条api //1,支付后切换回到APP //2,beforepay创建/复用旧checkout时,判断该checkout是否被支付了,但是之前没清空。 +(NSDictionary *)payResultParameters:(BUYCheckout *)checkout{ #if DEBUG NSString *checkout_token = checkout.token; #else NSString *checkout_token = checkout.token; #endif NSString *before_sign = [NSString stringWithFormat:@"checkout_token=%@&key=%@", checkout_token,User_Pay_KEY]; NSString *base64String = [KWMStringUtil BASE64:before_sign]; NSString *sign = [KWMStringUtil MD5:base64String]; NSDictionary *parameters = @{ @"checkout_token":checkout_token, @"sign":sign }; return parameters; } +(void)weChatPay:(KWMWechatPayData *)wechatData{ if(wechatData){ PayReq *request = [[PayReq alloc] init]; request.openID = wechatData.appid; request.partnerId = wechatData.partnerid; request.prepayId= wechatData.prepayid; request.package = wechatData.package; request.nonceStr= wechatData.noncestr; request.timeStamp= (UInt32)wechatData.timestamp; request.sign= wechatData.sign; [WXApi sendReq:request]; } } +(void)aliPay:(NSString *)alipayData callback:(CompletionBlock)callback{ if(![KWMStringUtil isEmpty:alipayData]){ NSString *appScheme = @"iCemarose"; [[AlipaySDK defaultService] payOrder:alipayData fromScheme:appScheme callback:callback]; } } @end