支付分析

NSDecimalNumberHandler

NSDecimalNumberHandler这个类遵循了NSDecimalNumberBehaviors协议,这个类可以帮你设置NSDecimalNumber对象(round off)完美和处理错误.不需要去创建一个子类.
你可以使用这个类的一个实例对象去作为NSDecimalNumber中任何一个以..Behavior:.结尾的方法的参数.如果你觉得不需要什么特殊的要求,那么很可能不需要使用这个类.想要了解更多,可以看一下NSDecimalNumberBehaviors这个协议.
///roundingMode : 舍入模式,有四种值可选 NSRoundUp, NSRoundDown, NSRoundPlain, and NSRoundBankers.
/// scale:小数点后要保留的位数
/// raiseOnExactness: 精度有问题的时候,抛出异常
/// raiseOnOverflow: 精度溢出的时候,抛出异常
/// raiseOnUnderflow: 精度低到需要用二进制的时候,抛出异常
/// raiseOnDivideByZero: 如果除数为0的话,抛出异常.
NSDecimalNumberHandler *roundUps = [NSDecimalNumberHandler

                                        decimalNumberHandlerWithRoundingMode:(NSRoundingMode)roundingMode

                                        scale:scale

                                        raiseOnExactness:raiseOnExactness

                                        raiseOnOverflow:raiseOnOverflow

                                        raiseOnUnderflow:raiseOnUnderflow

                                        raiseOnDivideByZero:raiseOnDivideByZero];

下订单

对订单的数据进行判断,首先根据输入的应付金额,折扣率,以及不打折部分,算出实付金额,然后存放到一个字典中,当做参数,发送订单消息给后台.
然后根据后台返回来的信息.获取如下信息:

  1. 订单号
  2. 订单时间
  3. 把订单号存放到用户的默认设置里面.同步
  4. 跳转到支付选择界面.

选择支付界面.

支付这块,有三种选择:

  1. 微信支付
  2. 支付宝支付
  3. 网银支付
微信支付
  1. 使用WXApi,进行判断手机是否已安装微信客户端.如果没有,直接提示退出
PayReq* req = [[PayReq alloc] init];
[WXApi sendReq:req];
  1. 有如下参数
    1.openID: URLSchemes: 自己设置
    2.partnerID: 商户id: 商家向财付通申请的商家id
    3.prepayId: 预支付Id,根据后台返回的参数获取.
    4.nonceStr:随机串,防重发 后台返回
    5.timeStamp: 时间戳,防重发 后台返回
    6.package: 商家根据财付通文档填写的数据和签名
    7.sign 商家根据微信开放平台文档对数据做的签名 后台返回.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值