用户案例

获取用户有效套餐(目前API 中有提供这个方法,但是该API是内部先请求了user_info 再调用这个方法解析, 如果只需要解析user_info ,可以复制这段代码)

// 这里的pay_info 是get_user_info 返回体中的payinfo
function get_valid_subscriptions (pay_info) {
  if (Array.isArray(pay_info) && pay_info.length > 0) {
    let success_status = ['created', 'updated'];
    let cancling_status = ['canceling', 'canceled'];
    return pay_info.filter((item) => {
      if (item.plan_type === 'one_time' && item.pay_status === 'succeed') {
        return item;
      }
      if (item.plan_type === 'recurring') {
        if (success_status.includes(item.order_status)) {
          return item;
        }
        if (cancling_status.includes(item.order_status)) {
          // 判断plan_end 这个时间戳与当前时间戳的大小
          if (item.plan_end > Date.now() / 1000) {
            return item;
          }
        }
      }
    });
  }
}