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) {
}
}
}
相关推荐
本源码包“IOS应用源码——能够通过审核的iap代码InAppPurchases.zip”提供了一个经过苹果审核的IAP实现示例,名为"InAppPurchasesExample",对于开发者来说,这是一个非常宝贵的参考资源。 一、IAP基础概念 1. ...
3. 验证收据:所有IAP购买的验证都应在服务器端进行,以防止篡改和欺诈。 4. 测试购买:在提交审核前,确保使用测试账号在沙盒环境中完成所有购买流程,确保其正常运行。 5. 用户体验:购买过程应当简洁易懂,用户...
5. 验证交易:虽然StoreKit会自动处理大部分验证,但在服务器端进行二次验证是推荐的,以防止欺诈行为。 六、测试IAP 在真机或模拟器上进行测试前,记得在App Store Connect上将你的应用状态设为“准备提交”,并...
为了支持用户在不同设备上的同步,购买记录应存储在服务器端。当用户在新设备上安装游戏并恢复购买时,你可以通过服务器查询他们的购买历史。 10. **测试IAP**: 在实际发布前,使用测试用户进行测试是非常重要的...
在iOS应用开发中,内购(In-App Purchase,简称IAP)是一种常见的商业模式,允许用户在应用程序内部购买额外的功能、服务或虚拟商品。本文将深入探讨如何在iOS平台上实现IAP功能,并进行相应的测试。 首先,理解IAP...
此外,为了防止欺诈,还需要对购买收据进行服务器端验证。 总的来说,这个代码集合提供了一个从用户界面到系统内购服务的完整实现,涵盖了内购流程的各个环节,对于理解iOS内购的实现机制和学习如何在自己的应用中...
以上就是关于iOS应用内购买(IAP)的详细解析,从设置产品、编码实现到处理交易和验证,以及需要注意的挑战和示例代码。IAP是iOS开发中不可或缺的一部分,理解和熟练掌握这一功能对于开发者来说至关重要。
IOS应用源码之能够通过审核的iap(IAP应用程序内购买)代码InAppPurchases .zip
同时,为了防止欺诈,必须在服务器端对购买进行验证。 7. **安全性和合规性**: 使用iAP时,必须遵循苹果的指导方针,所有应用内可购买的商品都应通过iAP进行,不能绕过这个系统。同时,需要处理好支付安全问题,...
最近项目要增加ios内购,找了一些资料自己封装修改了一些,ios内购的封装,导入即可使用,详细的注释,经过上线产品测试。
//购买 -(void)requestProduct:(RMIAPHelper*)sender start:(SKProductsRequest*)request; -(void)requestProduct:(RMIAPHelper*)sender received:(SKProductsRequest*)request; -(void)paymentRequest:...
总之,"unity3d的IAP内购代码"是一个关键组件,它使得Unity3D游戏或应用能够在iOS平台上实现内购功能,让开发者能够从中获利,并为用户提供便捷的购买体验。通过理解和集成这套代码,开发者可以确保其产品符合Apple...
由于IAP购买可能在离线状态下进行,所以需要在设备本地存储购买信息。当用户下次在线时,同步这些信息到服务器,确保用户在不同设备上的购买状态一致。 8. **测试IAP** 使用苹果提供的沙箱环境进行测试。创建测试...
在本文档中,我们主要讨论STM32微控制器的内部引导程序(IAP)功能,特别关注了从MCU的内置引导加载程序跳转到用户应用程序(也称为APP代码)的关键技术要点。首先,文档提到了两个关键问题,这些问题是在初次使用STM32 ...
主控芯片N32G031,通过串口2(PA9 PA10)IAP应用代码,电脑端采用串口工具XCOM V2.6.exe协议传输模式,有效最大包长128字节,加上包头: 0x01 0x01 报序号:1byte 长度:1字节 尾字节校验和:1字节,最大总包长133。...
【LPC17XX-IAP存储测试代码】是针对NXP公司生产的LPC1758和LPC1768微控制器进行的在应用编程(In-Application Programming, 简称IAP)功能的测试代码。这些微控制器属于Cortex-M3内核的LPC系列,广泛应用在嵌入式...
在这个资源中,弹出视图被用于展示IAP购买选项,增加用户体验的连贯性和一致性。 3. **自定义UI**:为了保持应用的独特风格和用户体验,开发者常常需要自定义IAP的购买流程。这个压缩包提供了一个预集成的视图,...
Unity3D调用IOS的内扣费IAP的简单例子,直接修改包名跟扣费点就可以运行用了。
STM32 IAP(In-Application Programming)程序代码与AES256加密技术结合,为嵌入式系统提供了一种安全、高效的固件更新方案。本文将深入探讨这两个主题,帮助开发者理解如何在STM32微控制器上实现固件的加密和通过...