哪位大佬有ios接原生支付教程

哪位大佬有ios接原生支付教程,跪求 :3:

又没人鸟,自己发现个网址:cocos creator 发布IOS版本(六)内购
研究中。。。之前解决了ios原生截图分享,还差个内购

微信支付宝的对应文档不就是最好的教程!

啊,不接微信支付宝,接ios原生自带的iap

/**
 请求在线商品,并存储于内存中
 @param identifiers 产品id
 */
- (void)requestProducts:(NSSet*)identifiers success:(void (^)(NSArray *products, NSArray *invalidProductIdentifiers))successBlock failure:(void (^)(NSError *error))failureBlock{
    NSSet *set = [[NSSet alloc] initWithArray:@[@"1", @"2", @"3", @"4", @"5", @"6"]];
    [[XYStore defaultStore] requestProducts:set success:^(NSArray *products, NSArray *invalidProductIdentifiers){
        NSLog(@"%@ - %@",products,invalidProductIdentifiers);
    } failure:^(NSError *error) {
        NSLog(@"%@",error.localizedDescription);
    }];
}

/**
 添加购买
 */
- (void)addPaymentProductId:(NSString *)productId{
    [[XYStore defaultStore] addPayment:productId success:^(SKPaymentTransaction *transaction){
        
    } failure:^(SKPaymentTransaction *transaction, NSError *error) {
        NSLog(@"%@",error.localizedDescription);
    }];
}

/**
 恢复内购
 */
- (void)restoreTransactions{
    [[XYStore defaultStore] restoreTransactionsOnSuccess:^(NSArray *transactions) {
        NSLog(@"restore === %@", transactions);
    } failure:^(NSError *error) {
        NSLog(@"restore error === %@", error);
    }];
}



/**
 添加票据校验
 外部票据校验(可以通过信任的服务器进行校验)
 创建校验对象(建议创建单例对象,以便监听),遵守XYStoreReceiptVerifier协议
 */

- (void)verifyTransaction:(SKPaymentTransaction *)transaction
                  success:(void (^)(void))successBlock
                  failure:(void (^)(NSError *))failureBlock{
    __weak typeof(self) weakSelf = self;
    [[XYStore defaultStore] base64Receipt:^(NSString *base64Data) {
        [[XYStore defaultStore] fetchProduct:transaction.payment.productIdentifier
                                     success:^(SKProduct *product){
             //外部校验请求
             //[weakSelf callBackApple:product receiptData:base64Data success:successBlock failure:failureBlock];
             
         } failure:failureBlock];
        
    } failure:failureBlock];
}

测试一下 大概就这这些。

-(void)send{
    //请求在线商品,并存储于内存中
   /* NSSet *set = [[NSSet alloc] initWithArray:@[@"1000"]];
    [[XYStore defaultStore] requestProducts:set success:^(NSArray *products, NSArray *invalidProductIdentifiers){
        NSLog(@"%@ - %@",products,invalidProductIdentifiers);
    } failure:^(NSError *error) {
        NSLog(@"%@",error.localizedDescription);
    }];*/
    
    [self addPaymentProductId:@"1002"];
    //[self restoreTransactions];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    //外部验证 在此设置内购的票据校验,防止掉单问题的发生
    //[[XYStore defaultStore] registerReceiptVerifier:[XYAppReceiptVerifier shareInstance]];
    
    //内部验证 在此设置内购的票据校验,防止掉单问题的发生
    [[XYStore defaultStore] registerReceiptVerifier:[XYStoreiTunesReceiptVerifier shareInstance]];
    //XYStoreiTunesReceiptVerifier中提供对自动续期产品的订阅过期的判断
    
    // 在此设置内购的票据校验,防止掉单问题的发生 这儿有两种一种存在UserDefault 另外一种存在于Keychain中
    [[XYStore defaultStore] registerTransactionPersistor:[XYStoreUserDefaultsPersistence shareInstance]];//存在UserDefault
    //[[XYStore defaultStore] registerTransactionPersistor:[XYStoreKeychainPersistence shareInstance]];//存在Keychain中


    // Override point for customization after application launch.
    return YES;
}