苹果内购支付对接

  1. public bool ValidateApplePay()
  2. {
  3. //客户端post过来的参数
  4. string appleReceipt = Request.Form["appleReceipt"]; //苹果内购的验证收据
  5. string orderId = PayHelper.GetOrderIDByPrefix("AP");  //订单编号
  6. string amount = Request.Form["amount"];             //金额
  7. string userId = Request.Form["userId"];             //用户UserID
  8. // 验证参数
  9. if (appleReceipt.Length < 20)
  10. {
  11. return false;
  12. }
  13. string strJosn = string.Format("{{\"receipt-data\":\"{0}\"}}", appleReceipt);
  14. // 请求验证
  15. string strResult = CreatePostHttpResponse(strJosn, isSandbox);
  16. JObject obj = JObject.Parse(strResult);//using Newtonsoft.Json.Linq;
  17. // 判断是否购买成功
  18. if (obj["status"].ToString() == "0")
  19. {
  20. return true;
  21. }
  22. else
  23. {
  24. return false;
  25. }
  26. }
  27. public string CreatePostHttpResponse(string datas, bool isSandbox = false)
  28. {
  29. //正式购买地址 沙盒购买地址
  30. string url_buy = "https://buy.itunes.apple.com/verifyReceipt";
  31. string url_sandbox = "https://sandbox.itunes.apple.com/verifyReceipt";
  32. string url = isSandbox ? url_sandbox : url_buy;
  33. HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
  34. request.ProtocolVersion = HttpVersion.Version10;
  35. request.Method = "POST";
  36. request.ContentType = "application/x-www-form-urlencoded";
  37. byte[] data = Encoding.GetEncoding("UTF-8").GetBytes(datas.ToString());
  38. using (Stream stream = request.GetRequestStream())
  39. {
  40. stream.Write(data, 0, data.Length);
  41. }
  42. HttpWebResponse response = request.GetResponse() as HttpWebResponse;
  43. Stream responseStream = response.GetResponseStream();   //获取响应的字符串流
  44. StreamReader sr = new StreamReader(responseStream); //创建一个stream读取流
  45. var str = sr.ReadToEnd();
  46. sr.Close();
  47. responseStream.Close();
  48. return str.ToString();
  49. }
时间: 2024-10-15 20:20:10

苹果内购支付对接的相关文章

iOS:苹果内购实践

iOS 苹果的内购 一.介绍 苹果规定,凡是虚拟的物品(例如:QQ音乐的乐币)进行交易时,都必须走苹果的内购通道,苹果要收取大约30%的抽成,所以不允许接入第三方的支付方式(微信.支付宝等),当然开发者可以设置后门,在审核时避开审核人员.这个是有风险的,一旦发现,app会被立即下架,还是老老实实接入内购吧. 二.注意 内购接入还是比较简单的,苹果提供了专门的框架<StoreKit/StoreKit.h>,只要按照它提供的api进行开发就行.然而,接入的过程还是有需要注意的地方,分别是:漏单处理

apicloud含有微信支付。支付宝支付和苹果内购的代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/> <meta name="

苹果内购流程详解

苹果内购主要分为两部分 itunnes 相关配置 一.在itunnes 上配置相关信息资料 首先需要配置一些前提条件,详细步骤如下 1.进入itunnes选择协议,税务银行业务 2.完善资料信息,主要有3项(联系人,银行信息,税务信息) 4.完善联系人信息,一般填申请开发者账号人员的信息,可以修改 5.完善银行信息 需要银行支付号(就是开户银行的一个标识),银行卡持有人名字 6.完善税务信息 7.以下默认选择no 8.确认界面,下图可能不太对,当时我是上下2个界面,第四项要上下一致才行 二.上面

苹果内购和 Apple Pay

作者:CC老师_MissCC链接:http://www.jianshu.com/p/e3bc47e81785來源:简书 苹果内购 1.什么是内购? 如果你购买的商品,是在本app中使用和消耗的,就一定要用内购,否则会被拒绝上线,例如:游戏币,在线书籍,app中使用的道具等虚拟产品.如果购买的就是普通的商品,例如淘宝买东西等,就不需要用内购.内购的话,苹果公司需要抽取30%佣金. 当然,打赏功能被纳入内购项目中.所以例如微信打赏功能.直播项目打赏主播都必须采用内购. 可以简单理解成,带有内购功能的

IOS内购支付server验证模式

IOS 内购支付两种模式: 内置模式 server模式 内置模式的流程: app从app store 获取产品信息 用户选择须要购买的产品 app发送支付请求到app store app store 处理支付请求.并返回transaction信息 app将购买的内容展示给用户 server模式的流程: app从server获取产品标识列表 app从app store 获取产品信息 用户选择须要购买的产品 app 发送 支付请求到app store app store 处理支付请求,返回trans

关于苹果内购(IAP)的一些问题以及那些坑

最近在研究苹果内购功能,所以,在网上找了一些资料,进行学习.但是,内购功能在实现的过程中,有很多坑,笔者算是真的遇到了好多啊,下面也是自己对内购的一些心得与体会吧! 我这里说的可能不太详尽,所以,我先把再网上看到的一些帖子贴在这里,以便大家做内购的时候,方便查找相关信息. 这里是一篇写的比较全面的帖子,但是没有写中间问题处理: <iOS开发内购全套图文教程> 在网上搜了一些相关的帖子,简单归纳总结了一下,觉得论坛里有一个叫Teng的世界的大神,写了三篇博客,写的很详细: [IAP支付之一]In

IOS内购支付服务器验证模式

IOS 内购支付两种模式: 内置模式 服务器模式 内置模式的流程: app从app store 获取产品信息 用户选择需要购买的产品 app发送支付请求到app store app store 处理支付请求,并返回transaction信息 app将购买的内容展示给用户 服务器模式的流程: app从服务器获取产品标识列表 app从app store 获取产品信息 用户选择需要购买的产品 app 发送 支付请求到app store app store 处理支付请求,返回transaction信息

(转)Cocos 2d-X Lua 游戏添加苹果内购(二) OC和Lua交互代码详解

这是第二篇 Cocos 2d-X Lua 游戏添加苹果内购(一) 图文详解准备流程 这是前面的第一篇,详细的说明了怎样添加内购项目以及填写银行信息提交以及沙盒测试员的添加使用以及需要我们注意的东西,结果,被移除首页了!前面第一篇的内容是这篇的基础,前面那些不弄好,下面的商品信息你是请求不到的,这点需要大家特别注意...有需要前面提到的内容的孩子可以点击链接进去自己看看!! 这篇就具体的总结我们Lua和OC交互的内容以及内购具体的代码以及结果的测试说明: 内购部分OC的代码实现 先自己总结一下整个

苹果内购服务器验证之receipt返回多组in_app思考

最近有部分用户反映,苹果内购充值失败,经过测试总结有几个关键点出现问题 1.app购买成功苹果没有返回票据,属于票据遗漏(取决于苹果服务器的响应状况),只能客户端进行监听刷新等处理 2.app连续购买的过程中,前几次苹果没有返回票据,几次之后,苹果返回了一个有效的票据,app提交给服务器进行验证的过程中in_app出现多组数据的情况,这种情况还是能充值成功了,只是不能全部到账 3.app连续购买,有一次正常返回票据,在提交给服务器的过程中出现意外,但实际服务端已经接受到票据,为用户成功充值,但a