         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)
+            gateway = try container.decodeIfPresent(String.self, forKey: .gateway)
             free = try container.decodeIfPresent(Bool.self, forKey: .free)
             creditCard = try container.decodeIfPresent(CreditCard.self, forKey: .creditCard)
             bankBillet = try container.decodeIfPresent(BankBillet.self, forKey: .bankBillet)


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

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