 
         enum CodingKeys: String, CodingKey {
             case type
+            case gateway
             case free
             case creditCard
             case declinedReason

        public init(from decoder: Decoder) throws {
            guard let container = try? decoder.container(keyedBy: CodingKeys.self) else { return }
            type = try container.decodeIfPresent(String.self, forKey: .type)
            free = try container.decodeIfPresent(Bool.self, forKey: .free)
            creditCard = try container.decodeIfPresent(CreditCard.self, forKey: .creditCard)
            bankBillet = try container.decodeIfPresent(BankBillet.self, forKey: .bankBillet)

    
    public struct Payment: Decodable {
        public var type: String?
        public var gateway: String?
        public var free: Bool?
        public var creditCard: CreditCard?
        public var bankBillet: BankBillet?
