1:先與支付寶簽約,獲得商戶ID(partner)和賬號(hào)ID(seller)
2:下載相應(yīng)的公鑰私鑰文件(加密簽名用)
3:下載支付寶SDK
4:生成訂單信息
5:調(diào)用支付寶客戶端,由支付寶客戶端跟支付寶安全服務(wù)器打交道
6:支付完畢后返回支付結(jié)果給商戶客戶端和服務(wù) , SDK里有集成支付寶功能的一個(gè)Demo> 集成支付功能的具體操作方式,可以參考Demo
//生成訂單信息及簽名請(qǐng)求參數(shù)沒(méi)有 return_URL這個(gè)參數(shù),商戶可以根據(jù)自身情況選擇簽名方法
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
{
//點(diǎn)擊獲取product實(shí)例,并初始化訂單信息
Pruduct *pruduct=[_dataArray objectAtIndex:index];
AlixPayOrder * order=[[AlixPayOrder alloc]init];
order.partner=PartnerID;
order.seller=SellerID;
//訂單ID
order.tradeNO=[self generateTradeNO];
// 商品標(biāo)題
order.productName=pruduct.subject;
// 商品描述
order.productDescription =pruduct.body;
//商品價(jià)格
order.amount=[NSString stringWithFormat:@"%.2f",pruduct.price];
order.notifyURL = @"http%3A%2F%2Fwwww.xxx.com"; //回調(diào)URL
return 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);
}
?