1:先與支付寶簽約,獲得商戶ID(partner)和賬號ID(seller)
2:下載相應的公鑰私鑰文件(加密簽名用)
3:下載支付寶SDK
4:生成訂單信息
5:調用支付寶客戶端,由支付寶客戶端跟支付寶安全服務器打交道
6:支付完畢后返回支付結果給商戶客戶端和服務 , SDK里有集成支付寶功能的一個Demo> 集成支付功能的具體操作方式,可以參考Demo
//生成訂單信息及簽名請求參數沒有 return_URL這個參數,商戶可以根據自身情況選擇簽名方法
NSString *appScheme=@"PRactice";NSString * orderInfo=[self getOrderInfo:indexPath.row];NSString * signedStr=[self doRsa:orderInfo];NSString*orderString=[NSString stringWithFormat:@"%@&sign=/"%@/"&sign_type=/"%@/"",orderInfo,signedStr,@"RSA"];[AlixLibService payOrder:orderString AndScheme:appScheme seletor:_result target:self];
-(NSString *)doRsa:(NSString *)orderInfo{idsigner;signer=CreateRSADataSigner(PartnerPrivKey);NSString * signedString=[signer signString:orderInfo];return signedString;}-(NSString *)getOrderInfo:(NSInteger)index{//點擊獲取product實例,并初始化訂單信息Pruduct *pruduct=[_dataArray objectAtIndex:index];AlixPayOrder * order=[[AlixPayOrder alloc]init];order.partner=PartnerID;order.seller=SellerID;//訂單IDorder.tradeNO=[self generateTradeNO];// 商品標題order.productName=pruduct.subject;// 商品描述order.productDescription =pruduct.body;//商品價格order.amount=[NSString stringWithFormat:@"%.2f",pruduct.price];order.notifyURL = @"http%3A%2F%2Fwwww.xxx.com"; //回調URLreturn order.description;}
-(NSString *)generateTradeNO{const int N =15;NSString * sourceString=@"SSSSSSSSSSSSSSSS";NSMutableString *re=[[NSMutableString alloc]init];srand(time(0));for (int i=0; i unsigned index=rand()%[sourceString length];NSString * s=[sourceString substringWithRange:NSMakeRange(index, 1)];[re appendString:s];}return re;}-(void)paymentResultDelegate:(NSString *)result{NSLog(@"%@",result);}
新聞熱點
疑難解答