Example #1
0
    /// <summary>
    /// 接收到询问支付限制的事件
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnCheckPayLimit(CheckPayLimitEvent e, object[] args)
    {
        PayLimitType payLimitType = PayLimitType.None;//默认不需要实名认证,无限制

        Debug.LogWarning("OnCheckPayLimit====openRealName==" + openRealName);
        if (openRealName)
        {
            if (RealNameStatus == RealNameStatus.NotRealName)
            {
                StartRealNameAttestation(); //自动开始实名制认证
                payLimitType = PayLimitType.NoRealName;
            }
            else if (RealNameStatus == RealNameStatus.IsRealName)
            {
                if (isAdult) //成年
                {
                    payLimitType = PayLimitType.None;
                }
                else //未成年
                {
                    CheckPayLimitBySDK(e.payAmount);
                    Debug.LogWarning("CheckPayLimitBySDK");
                    return;
                }
            }
            else if (RealNameStatus == RealNameStatus.NotNeed)
            {
                payLimitType = PayLimitType.None;//默认不需要实名认证,无限制
            }
        }

        Debug.LogWarning("OnCheckPayLimit====payLimitType==" + payLimitType);

        CheckPayLimitResultEvent.Dispatch(e.payAmount, payLimitType);
    }
Example #2
0
 /// <summary>
 /// 判断支付 限制的回调
 /// </summary>
 /// <param name="e"></param>
 /// <param name="args"></param>
 private static void OnCheckPayLimitResult(CheckPayLimitResultEvent e, object[] args)
 {
     Debug.Log("OnCheckPayLimitResult SDK: " + e.payLimitType);
     if (e.payLimitType == PayLimitType.None)
     {
         PayInfo payInfo = new PayInfo(m_goodsInfo.goodsID, m_goodsInfo.localizedTitle, m_payPlatform.payPlatformTag, FrameWork.SDKManager.GoodsType.NORMAL, "", m_goodsInfo.localizedPrice, m_goodsInfo.isoCurrencyCode, user.userID, m_payPlatform.SDKName);
         if (Application.platform == RuntimePlatform.Android)
         {
             SDKManager.Pay(m_payPlatform.SDKName, payInfo);
         }
         else
         {
             SDKManager.Pay(payInfo);
         }
     }
     else if (e.payLimitType == PayLimitType.ChildLimit)
     {
         //未成年本日消费超出
         OnVerificationResultCallBack(new PayResult(-21, m_goodsInfo.goodsID, "今日消费已超出未成年限制"));
     }
     else if (e.payLimitType == PayLimitType.NoRealName)
     {
         //未实名制,无法支付
         OnVerificationResultCallBack(new PayResult(-22, m_goodsInfo.goodsID, "请完成实名制认证后重试"));
     }
     else
     {
         //错误,不应该会进来
     }
 }
Example #3
0
    /// <summary>
    /// 查询支付结果的回调
    /// </summary>
    /// <param name="isLimit"></param>
    private void OnPayLimitCallBack(bool isLimit, int payAmount)
    {
        PayLimitType payLimitType = PayLimitType.None;

        if (isLimit)
        {
            payLimitType = PayLimitType.ChildLimit;
        }
        Debug.Log("OnPayLimitCallBack from SDK:" + payLimitType);
        CheckPayLimitResultEvent.Dispatch(payAmount, payLimitType);
    }