func cardsFromZ(cards []string) []ebs_fields.CardsRedis {
	var cb ebs_fields.CardsRedis
	var cardBytes []ebs_fields.CardsRedis
	for k, v := range cards {
		json.Unmarshal([]byte(v), &cb)
		cb.ID = k + 1
		cardBytes = append(cardBytes, cb)
	}
	return cardBytes
}
cardsFromZ marshals []string to []ebs_fields.CardsRedis
package consumer
import (
	"bytes"
	"encoding/json"
	"errors"
	"io/ioutil"
	"net/http"
	"regexp"
	"strconv"
	"time"
	"github.com/adonese/noebs/ebs_fields"
	"github.com/go-redis/redis/v7"
	"github.com/google/uuid"
)
const (
	SPECIAL_BILLERS = "noebs:billers"
)
type specialPaymentQueries struct {
	ID       string `form:"id,omitempty" binding:"required"`     
	Token    string `form:"token,omitempty" binding:"required"`  
	IsJSON   bool   `form:"json,omitempty"`
	Referer  string `form:"to,default=https://sahil2.soluspay.net"`
	HooksURL string `form:"hooks,default=https://sahil2.soluspay.net"`
}
type cashoutFields struct {
	Name     string   `json:"name,omitempty" binding:"required"`
	Endpoint string   `json:"endpoint,omitempty" binding:"required"`
	Consent  bool     `json:"consent,omitempty"`
	Pan      string   `json:"pan,omitempty"`
	ExpDate  string   `json:"expDate,omitempty"`
	Ipin     string   `json:"ipin,omitempty"`
	Amount   int      `json:"amount,omitempty"`
	Biller   response `json:"details,omitempty"`  
}
type billerForm struct {
	EBS          ebs_fields.GenericEBSResponseFields `json:"ebs_response"`
	ID           string                              `json:"id"`
	IsSuccessful bool                                `json:"is_successful"`
	Token        string                              `json:"payment_token"`
	to           string
}
func (bf *billerForm) MarshalBinary() ([]byte, error) {
	return json.Marshal(bf)
}
func (bf *billerForm) UnmarshalBinary(data []byte) error {
	return json.Unmarshal(data, bf)
}
type card map[string]interface{}