@@ -31,6 +31,7 @@ public struct Order: Decodable, GeneratedCopiable, GeneratedFakeable {
3131 public let totalTax : String
3232 public let paymentMethodID : String
3333 public let paymentMethodTitle : String
34+ public let paymentURL : URL ?
3435 public let chargeID : String ?
3536
3637 public let items : [ OrderItem ]
@@ -64,6 +65,7 @@ public struct Order: Decodable, GeneratedCopiable, GeneratedFakeable {
6465 totalTax: String ,
6566 paymentMethodID: String ,
6667 paymentMethodTitle: String ,
68+ paymentURL: URL ? ,
6769 chargeID: String ? ,
6870 items: [ OrderItem ] ? ,
6971 billingAddress: Address ? ,
@@ -97,6 +99,7 @@ public struct Order: Decodable, GeneratedCopiable, GeneratedFakeable {
9799 self . totalTax = totalTax
98100 self . paymentMethodID = paymentMethodID
99101 self . paymentMethodTitle = paymentMethodTitle
102+ self . paymentURL = paymentURL
100103 self . chargeID = chargeID
101104
102105 self . items = items ?? [ ]
@@ -143,6 +146,9 @@ public struct Order: Decodable, GeneratedCopiable, GeneratedFakeable {
143146 let paymentMethodID = try container. decode ( String . self, forKey: . paymentMethodID)
144147 let paymentMethodTitle = try container. decode ( String . self, forKey: . paymentMethodTitle)
145148
149+ // "payment_url" is only available on stores stores with version >= 6.4
150+ let paymentURL = try container. decodeIfPresent ( URL . self, forKey: . paymentURL)
151+
146152 let allOrderMetaData = try ? container. decode ( [ OrderMetaData ] . self, forKey: . metadata)
147153 var chargeID : String ? = nil
148154 chargeID = allOrderMetaData? . first ( where: { $0. key == " _charge_id " } ) ? . value
@@ -192,6 +198,7 @@ public struct Order: Decodable, GeneratedCopiable, GeneratedFakeable {
192198 totalTax: totalTax,
193199 paymentMethodID: paymentMethodID,
194200 paymentMethodTitle: paymentMethodTitle,
201+ paymentURL: paymentURL,
195202 chargeID: chargeID,
196203 items: items,
197204 billingAddress: billingAddress,
@@ -224,6 +231,7 @@ public struct Order: Decodable, GeneratedCopiable, GeneratedFakeable {
224231 totalTax: " " ,
225232 paymentMethodID: " " ,
226233 paymentMethodTitle: " " ,
234+ paymentURL: nil ,
227235 chargeID: nil ,
228236 items: [ ] ,
229237 billingAddress: nil ,
@@ -264,6 +272,7 @@ internal extension Order {
264272 case totalTax = " total_tax "
265273 case paymentMethodID = " payment_method "
266274 case paymentMethodTitle = " payment_method_title "
275+ case paymentURL = " payment_url "
267276
268277 case items = " line_items "
269278 case shippingAddress = " shipping "
@@ -301,6 +310,7 @@ extension Order: Equatable {
301310 lhs. totalTax == rhs. totalTax &&
302311 lhs. paymentMethodID == rhs. paymentMethodID &&
303312 lhs. paymentMethodTitle == rhs. paymentMethodTitle &&
313+ lhs. paymentURL == rhs. paymentURL &&
304314 lhs. billingAddress == rhs. billingAddress &&
305315 lhs. shippingAddress == rhs. shippingAddress &&
306316 lhs. shippingLines. count == rhs. shippingLines. count &&
0 commit comments