`
hougechuanqi
  • 浏览: 73170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【IOS】IAP (内置购买) 服务器端代码

 
阅读更多

 

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.HttpURLConnection;

import java.net.URL;

 

import javax.net.ssl.HttpsURLConnection;

import javax.transaction.SystemException;

 

import com.alibaba.fastjson.JSONObject;

 

public class ApplePayments {

private final static String _sandboxUriStr = "https://sandbox.itunes.apple.com/verifyReceipt";

//private final static String _productionUriStr = "https://buy.itunes.apple.com/verifyReceipt";

 

/**

* @param receipt 明码

* @throws SystemException

*/

public static void processPayment(final String receipt)

throws SystemException {

@SuppressWarnings("restriction")

final sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();

final String receiptData = encoder.encode(receipt.getBytes());

final JSONObject object=new JSONObject();

object.put("receipt-data", receiptData);

        final String jsonData=object.toJSONString();

try {

 

final URL url = new URL(_sandboxUriStr);

final HttpURLConnection conn = (HttpsURLConnection) url

.openConnection();

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.setRequestProperty("Content-Type", "application/json");

conn.setRequestProperty("Accept", "application/json");

 

final OutputStreamWriter wr = new OutputStreamWriter(

conn.getOutputStream());

wr.write(jsonData);

wr.flush();

 

// Get the response

final BufferedReader rd = new BufferedReader(new InputStreamReader(

conn.getInputStream()));

String line;

while ((line = rd.readLine()) != null) {

System.out.println(line);

}

wr.close();

rd.close();

} catch (IOException e) {

 

}

}

}

分享到:
评论
2 楼 hougechuanqi 2014-07-11  
我也出现过,原因就是你的请求参数有问题,再好好检查一下
1 楼 wujiyongheng 2013-11-19  
我在网上找了很多的例子,都大同小异。但是都是会提示 21002错误,数据格式出错,不知道博主是在什么情况下,验证通过呢? 这个会和环境相关吗? (我完全按照你的例子来也还是照样提示格式出错。。。)

相关推荐

    IOS应用源码——能够通过审核的iap代码InAppPurchases.zip

    本源码包“IOS应用源码——能够通过审核的iap代码InAppPurchases.zip”提供了一个经过苹果审核的IAP实现示例,名为"InAppPurchasesExample",对于开发者来说,这是一个非常宝贵的参考资源。 一、IAP基础概念 1. ...

    ios应用源码之能够通过审核的iap代码inapppurchases 20181210

    3. 验证收据:所有IAP购买的验证都应在服务器端进行,以防止篡改和欺诈。 4. 测试购买:在提交审核前,确保使用测试账号在沙盒环境中完成所有购买流程,确保其正常运行。 5. 用户体验:购买过程应当简洁易懂,用户...

    unity与iOS交互进行App Store内购(IAP)

    5. 验证交易:虽然StoreKit会自动处理大部分验证,但在服务器端进行二次验证是推荐的,以防止欺诈行为。 六、测试IAP 在真机或模拟器上进行测试前,记得在App Store Connect上将你的应用状态设为“准备提交”,并...

    cocos2dx使用ios内支付详细流程iap

    为了支持用户在不同设备上的同步,购买记录应存储在服务器端。当用户在新设备上安装游戏并恢复购买时,你可以通过服务器查询他们的购买历史。 10. **测试IAP**: 在实际发布前,使用测试用户进行测试是非常重要的...

    9.31-IAP-iOS内购功能的具体实现和测试

    在iOS应用开发中,内购(In-App Purchase,简称IAP)是一种常见的商业模式,允许用户在应用程序内部购买额外的功能、服务或虚拟商品。本文将深入探讨如何在iOS平台上实现IAP功能,并进行相应的测试。 首先,理解IAP...

    ios内购的代码

    此外,为了防止欺诈,还需要对购买收据进行服务器端验证。 总的来说,这个代码集合提供了一个从用户界面到系统内购服务的完整实现,涵盖了内购流程的各个环节,对于理解iOS内购的实现机制和学习如何在自己的应用中...

    ios应用内购买

    以上就是关于iOS应用内购买(IAP)的详细解析,从设置产品、编码实现到处理交易和验证,以及需要注意的挑战和示例代码。IAP是iOS开发中不可或缺的一部分,理解和熟练掌握这一功能对于开发者来说至关重要。

    IOS应用源码之能够通过审核的iap(IAP应用程序内购买)代码InAppPurchases .zip

    IOS应用源码之能够通过审核的iap(IAP应用程序内购买)代码InAppPurchases .zip

    unity 嵌入 百度Frontia分享,ios-iap

    同时,为了防止欺诈,必须在服务器端对购买进行验证。 7. **安全性和合规性**: 使用iAP时,必须遵循苹果的指导方针,所有应用内可购买的商品都应通过iAP进行,不能绕过这个系统。同时,需要处理好支付安全问题,...

    IOSIAP.unitypackage

    最近项目要增加ios内购,找了一些资料自己封装修改了一些,ios内购的封装,导入即可使用,详细的注释,经过上线产品测试。

    【IOS一气呵成】之IAP集成:内购和内购恢复 DEMO

    //购买 -(void)requestProduct:(RMIAPHelper*)sender start:(SKProductsRequest*)request; -(void)requestProduct:(RMIAPHelper*)sender received:(SKProductsRequest*)request; -(void)paymentRequest:...

    unity3d的IAP内购代码

    总之,"unity3d的IAP内购代码"是一个关键组件,它使得Unity3D游戏或应用能够在iOS平台上实现内购功能,让开发者能够从中获利,并为用户提供便捷的购买体验。通过理解和集成这套代码,开发者可以确保其产品符合Apple...

    IAP支付(IOS内购)

    由于IAP购买可能在离线状态下进行,所以需要在设备本地存储购买信息。当用户下次在线时,同步这些信息到服务器,确保用户在不同设备上的购买状态一致。 8. **测试IAP** 使用苹果提供的沙箱环境进行测试。创建测试...

    STM32 MCU IAP例程跳转到APP代码简要分析.pdf

    在本文档中,我们主要讨论STM32微控制器的内部引导程序(IAP)功能,特别关注了从MCU的内置引导加载程序跳转到用户应用程序(也称为APP代码)的关键技术要点。首先,文档提到了两个关键问题,这些问题是在初次使用STM32 ...

    N32G031串口 IAP升级代码boot及应用app代码

    主控芯片N32G031,通过串口2(PA9 PA10)IAP应用代码,电脑端采用串口工具XCOM V2.6.exe协议传输模式,有效最大包长128字节,加上包头: 0x01 0x01 报序号:1byte 长度:1字节 尾字节校验和:1字节,最大总包长133。...

    LPC17XX-IAP存储测试代码

    【LPC17XX-IAP存储测试代码】是针对NXP公司生产的LPC1758和LPC1768微控制器进行的在应用编程(In-Application Programming, 简称IAP)功能的测试代码。这些微控制器属于Cortex-M3内核的LPC系列,广泛应用在嵌入式...

    ios-程序内购买弹出框.zip

    在这个资源中,弹出视图被用于展示IAP购买选项,增加用户体验的连贯性和一致性。 3. **自定义UI**:为了保持应用的独特风格和用户体验,开发者常常需要自定义IAP的购买流程。这个压缩包提供了一个预集成的视图,...

    Unity3D调用IOS的内扣费IAP的简单例子

    Unity3D调用IOS的内扣费IAP的简单例子,直接修改包名跟扣费点就可以运行用了。

    STM32 IAP程序代码,固件AES256 加密,iap烧写自动解密

    STM32 IAP(In-Application Programming)程序代码与AES256加密技术结合,为嵌入式系统提供了一种安全、高效的固件更新方案。本文将深入探讨这两个主题,帮助开发者理解如何在STM32微控制器上实现固件的加密和通过...

Global site tag (gtag.js) - Google Analytics