苹果支付Java后台总结

本文介绍了苹果支付与微信支付的支付流程对比,强调苹果支付的资金直接转入商户银行账户,而微信支付涉及微信平台。苹果支付的前端实现及服务端验证过程也被提及,并提供了验证工具类的相关信息。
摘要由CSDN通过智能技术生成

官方地址:https://developer.apple.com/apple-pay/sandbox-testing/

简介

初次接触苹果支付,首先要搞懂流程。苹果支付不同于支付宝,微信支付。

比较微信支付与苹果支付的支付流程:

  • 微信支付:客户端支付——>微信——>微信提现——>银行账户。
    1. 如果你不提现,所有的收益都在微信平台;如果提现,微信平台就要收取相关的手续费,具体手续费跟行业不同有差异。这也是微信平台的直接收益。
    2. 微信支付通过服务端api调用实现。
  • 苹果支付:客户端支付——>商户银行账户。
    1. 它是通过客户端(苹果设备)将用户银行卡上的钱直接转到商户的银行账户上。因为钱没有第三方(苹果)经手,所以,苹果支付没有像支付宝、微信一样有直接收益。为了维护这套服务功能,苹果需要在有支付功能的应用上收取相应的提成。具体收费情况也要根据具体的产品内容有关。如有实物,可能就不需要提成。如软件需要开通会员等虚拟服务,就需要收取近3成的费用。详情去官方文档查询。
    2. 苹果支付通过苹果设备(iphone等)支付,前端支付,不需要走服务端,但需要在服务端验证支付结果。

支付接口

接口与验证

    /**
	 * 苹果端APP订单支付成功回调
	 * @param userId 用户ID
	 * @param receipt 前台传过来的苹果支付收据简码,是base64加密参数。
	 */
	@RequestMapping(value = "/*****")
	public @ResponseBody Map<String,Object> iosPaymentSuccess(HttpServletRequest request,
			@RequestParam(name="userId", required=true)int userId,@RequestParam(required=true) String receipt){
		Map<String, Object> resultMap =new HashMap<String, Object>();
		try {
			logger.info("苹果支付:receipt=="+receipt);
			//校验用户是否存在
			User user = userService.queryUserById(userId);
			if (user == null){  
				resultMap=createResults(ErrorCode.ACCOUNT_USERID_INVALIDURL);
				resultMap.put("success", false);
				return resultMap;
			}
			//验证苹果收据是否有效
			Map<String,Object> verifyMap = iPayNotify(receipt);
			if(!(boolean)verifyMap.get("success")){//验证失败,直接返回失败信息
				resultMap = createResults(ErrorCode.IOS_PAY_VERIFY_FAILED);
				resultMap.put("success"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值