@@ -36,6 +36,19 @@ class INPPaymentService {
36
36
route: PaymentAPIRouter . validatePayment ( parameters: params) ,
37
37
completion: completion)
38
38
}
39
+
40
+ static func validateByProductName( productName: String ,
41
+ receipt: String ,
42
+ completion: @escaping RequestCompletion < Empty > ) {
43
+ let params : [ String : Any ] = [
44
+ PaymentParameters . receipt: receipt,
45
+ PaymentParameters . productName: productName
46
+ ]
47
+ NetworkDataSource . performRequest ( session: InPlayerSessionAPIManager . default. session,
48
+ route: PaymentAPIRouter . validatePaymentByProductName ( parameters: params) ,
49
+ completion: completion)
50
+
51
+ }
39
52
40
53
static func getPurchaseHistory( status: PurchaseHistory ,
41
54
page: Int ,
@@ -64,11 +77,12 @@ class INPPaymentService {
64
77
private enum PaymentAPIRouter : INPAPIConfiguration {
65
78
66
79
case validatePayment( parameters: [ String : Any ] )
80
+ case validatePaymentByProductName( parameters: [ String : Any ] )
67
81
case getPurchaseHistory( parameters: [ String : Any ] )
68
82
69
83
var method : HTTPMethod {
70
84
switch self {
71
- case . validatePayment:
85
+ case . validatePayment, . validatePaymentByProductName :
72
86
return . post
73
87
case . getPurchaseHistory:
74
88
return . get
@@ -77,7 +91,7 @@ private enum PaymentAPIRouter: INPAPIConfiguration {
77
91
78
92
var path : String {
79
93
switch self {
80
- case . validatePayment:
94
+ case . validatePayment, . validatePaymentByProductName :
81
95
return NetworkConstants . Endpoints. Payment. validate
82
96
case . getPurchaseHistory:
83
97
return NetworkConstants . Endpoints. Payment. purchaseHistory
@@ -88,6 +102,8 @@ private enum PaymentAPIRouter: INPAPIConfiguration {
88
102
switch self {
89
103
case . validatePayment( let parameters) :
90
104
return parameters
105
+ case . validatePaymentByProductName( let parameters) :
106
+ return parameters
91
107
case . getPurchaseHistory( let parameters) :
92
108
return parameters
93
109
}
@@ -118,4 +134,5 @@ private struct PaymentParameters {
118
134
static let limit = " size "
119
135
static let type = " type "
120
136
static let customerId = " customerID "
137
+ static let productName = " product_name "
121
138
}
0 commit comments