@gofynd/fdk-client-javascript 1.4.2-beta.2 → 1.4.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationModel.d.ts +1742 -1726
  4. package/sdk/application/Cart/CartApplicationModel.js +1497 -1481
  5. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
  6. package/sdk/application/Catalog/CatalogApplicationModel.js +1611 -1611
  7. package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
  8. package/sdk/application/Common/CommonApplicationModel.js +172 -172
  9. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
  10. package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
  11. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1614 -1614
  12. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1151 -1151
  13. package/sdk/application/Content/ContentApplicationModel.d.ts +797 -797
  14. package/sdk/application/Content/ContentApplicationModel.js +757 -757
  15. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
  16. package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
  17. package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
  18. package/sdk/application/Lead/LeadApplicationModel.js +301 -301
  19. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +666 -666
  20. package/sdk/application/Logistic/LogisticApplicationModel.js +601 -601
  21. package/sdk/application/Order/OrderApplicationModel.d.ts +846 -846
  22. package/sdk/application/Order/OrderApplicationModel.js +822 -822
  23. package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
  24. package/sdk/application/Payment/PaymentApplicationClient.js +10 -10
  25. package/sdk/application/Payment/PaymentApplicationModel.d.ts +2155 -2150
  26. package/sdk/application/Payment/PaymentApplicationModel.js +1460 -1458
  27. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +5 -5
  28. package/sdk/application/Payment/PaymentApplicationValidator.js +3 -3
  29. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1462 -1462
  30. package/sdk/application/PosCart/PosCartApplicationModel.js +1260 -1260
  31. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
  32. package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
  33. package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
  34. package/sdk/application/Share/ShareApplicationModel.js +121 -121
  35. package/sdk/application/Theme/ThemeApplicationModel.d.ts +895 -895
  36. package/sdk/application/Theme/ThemeApplicationModel.js +684 -684
  37. package/sdk/application/User/UserApplicationModel.d.ts +762 -762
  38. package/sdk/application/User/UserApplicationModel.js +738 -738
  39. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +63 -63
  40. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +65 -65
  41. package/sdk/partner/Lead/LeadPartnerModel.d.ts +661 -661
  42. package/sdk/partner/Lead/LeadPartnerModel.js +491 -491
  43. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +223 -223
  44. package/sdk/partner/Logistics/LogisticsPartnerModel.js +235 -235
  45. package/sdk/partner/Theme/ThemePartnerModel.d.ts +1087 -1087
  46. package/sdk/partner/Theme/ThemePartnerModel.js +819 -819
  47. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +386 -386
  48. package/sdk/partner/Webhook/WebhookPartnerModel.js +342 -342
  49. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
  50. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
  51. package/sdk/platform/Billing/BillingPlatformModel.d.ts +801 -801
  52. package/sdk/platform/Billing/BillingPlatformModel.js +783 -783
  53. package/sdk/platform/Cart/CartPlatformModel.d.ts +3333 -3317
  54. package/sdk/platform/Cart/CartPlatformModel.js +2936 -2920
  55. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1013 -1013
  56. package/sdk/platform/Catalog/CatalogPlatformModel.js +923 -923
  57. package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
  58. package/sdk/platform/Common/CommonPlatformModel.js +187 -187
  59. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1238 -1238
  60. package/sdk/platform/Communication/CommunicationPlatformModel.js +1273 -1273
  61. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +661 -661
  62. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +692 -692
  63. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +3198 -3198
  64. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2247 -2247
  65. package/sdk/platform/Content/ContentPlatformModel.d.ts +1833 -1833
  66. package/sdk/platform/Content/ContentPlatformModel.js +1837 -1837
  67. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +245 -245
  68. package/sdk/platform/Discount/DiscountPlatformModel.js +248 -248
  69. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +865 -865
  70. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +877 -877
  71. package/sdk/platform/Finance/FinancePlatformModel.d.ts +1044 -1044
  72. package/sdk/platform/Finance/FinancePlatformModel.js +974 -974
  73. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
  74. package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
  75. package/sdk/platform/Lead/LeadPlatformModel.d.ts +608 -608
  76. package/sdk/platform/Lead/LeadPlatformModel.js +465 -465
  77. package/sdk/platform/Order/OrderPlatformModel.d.ts +5180 -5176
  78. package/sdk/platform/Order/OrderPlatformModel.js +4740 -4736
  79. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
  80. package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
  81. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2670 -2660
  82. package/sdk/platform/Payment/PaymentPlatformModel.js +1831 -1827
  83. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
  84. package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
  85. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1505 -1507
  86. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1532 -1536
  87. package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
  88. package/sdk/platform/Share/SharePlatformModel.js +139 -139
  89. package/sdk/platform/Theme/ThemePlatformModel.d.ts +1046 -1046
  90. package/sdk/platform/Theme/ThemePlatformModel.js +789 -789
  91. package/sdk/platform/User/UserPlatformModel.d.ts +758 -758
  92. package/sdk/platform/User/UserPlatformModel.js +643 -643
  93. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +439 -439
  94. package/sdk/platform/Webhook/WebhookPlatformModel.js +364 -364
  95. package/sdk/public/Billing/BillingPublicModel.d.ts +55 -55
  96. package/sdk/public/Billing/BillingPublicModel.js +51 -51
  97. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
  98. package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
  99. package/sdk/public/Content/ContentPublicModel.d.ts +26 -26
  100. package/sdk/public/Content/ContentPublicModel.js +28 -28
  101. package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
  102. package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
  103. package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
  104. package/sdk/public/Partner/PartnerPublicModel.js +113 -113
  105. package/sdk/public/Webhook/WebhookPublicModel.d.ts +87 -87
  106. package/sdk/public/Webhook/WebhookPublicModel.js +93 -93
@@ -1,1861 +1,1822 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef AddBeneficiaryDetailsOTPRequest
5
- * @property {BankDetailsForOTP} details
6
- * @property {string} order_id
4
+ * @typedef PaymentGatewayConfigResponse
5
+ * @property {Object[]} [aggregators] - List of all speceific Payment options
6
+ * with their Details.
7
+ * @property {string} app_id - Application Id to which Payment config Mapped
8
+ * @property {string[]} excluded_fields - List of all excluded options with their Details.
9
+ * @property {boolean} success - Response is successful or not
10
+ * @property {boolean} created - Response is created or not
11
+ * @property {string[]} display_fields - List of all included options with their Details.
7
12
  */
8
13
 
9
14
  /**
10
- * @typedef AddressDetail
11
- * @property {string} address - Address details
12
- * @property {string} [address_type] - Address type e.g. home, office
13
- * @property {string} area - Area details
14
- * @property {string} area_code - Customer pin/zip code
15
- * @property {string} area_code_slug - Area slug code, use pin or zip code if
16
- * not available
17
- * @property {string} city - City name
18
- * @property {string} country - Country name
19
- * @property {string} country_iso_code - Country's code name e.g. `IN`, `GB`
20
- * @property {string} country_phone_code - Country's phone code
21
- * @property {string} [email] - Customer email
22
- * @property {string} [expire_at] - Address expiry timestamp
23
- * @property {string} g_address_id - Unique address id generated by Fynd platform
24
- * @property {Object} [geo_location] - Location latitude and logitude
25
- * @property {Object} [google_map_point] - Google map point of location
26
- * @property {string} [landmark] - Landmark
27
- * @property {string} name - Customer name
28
- * @property {string} phone - Phone number
29
- * @property {string} state - State of the customer
30
- * @property {Object[]} [tags] - Optional address tag
15
+ * @typedef ErrorCodeDescription
16
+ * @property {string} description - Error human understandable description.
17
+ * @property {string} code - Error descrption code.
18
+ * @property {boolean} success - Response is successful or not
31
19
  */
32
20
 
33
21
  /**
34
- * @typedef AdvanceObject
35
- * @property {string[]} [all_prepayment_type] - All available types of prepayment
36
- * @property {boolean} [allow_custom_advance_amount] - Is custom advance amount allowed?
37
- * @property {number} [amount] - Amount for Payment Breakdown
38
- * @property {string} [cancellation_type] - Type of cancellation
39
- * @property {string} [description] - The description for Advance Payment (user
40
- * configured)
41
- * @property {string} [display_name] - The display name for Advance payment
42
- * @property {boolean} [is_active] - Is Advance Payment active
43
- * @property {string} [prepayment_type] - Type of prepayment value
44
- * @property {number} [prepayment_value] - Value for prepayment in advance payment
45
- * @property {number} [refund_time_limit] - Time limit for processing refund
46
- * @property {string} [time_unit] - Time unit for refunds
22
+ * @typedef PaymentGatewayConfig
23
+ * @property {string} secret - Secret Key of the payment aggregator
24
+ * @property {string} config_type - Config Type of the aggregator
25
+ * @property {boolean} [is_active] - Enable or Disable Flag
26
+ * @property {string} key - Api key of the payment aggregator
27
+ * @property {string} merchant_salt - Merchant key of the payment aggregator
47
28
  */
48
29
 
49
30
  /**
50
- * @typedef AdvancePaymentObject
51
- * @property {AdvanceObject} [advance]
52
- * @property {string} [display_name] - Display name for Advance Payment Mode
53
- * @property {number} [display_priority] - Display Priority for Payment Option
54
- * @property {PaymentModeList[]} [list] - Payment mode
55
- * @property {string} [name] - Name of Advance Payment Mode
56
- * @property {number} [payment_mode_id] - Payment Mode ID for Advance Payment Option
57
- * @property {SplitObject} [split]
31
+ * @typedef PaymentGatewayConfigRequest
32
+ * @property {string} app_id - Application Id to which Payment config Mapped
33
+ * @property {boolean} [is_active] - Enable or Disable Flag
34
+ * @property {PaymentGatewayConfig} [aggregator_name]
58
35
  */
59
36
 
60
37
  /**
61
- * @typedef AggregatorControlRequest
62
- * @property {string} [business_unit] - Business unit
63
- * @property {string} [device] - Device name
64
- * @property {Object[]} [items] - List of item details with respect to payment_mode
65
- * @property {AggregatorVersionRequestSchema} [version]
38
+ * @typedef PaymentGatewayToBeReviewed
39
+ * @property {string[]} aggregator - List of added payment gateway
40
+ * @property {boolean} success - Response is successful or not
66
41
  */
67
42
 
68
43
  /**
69
- * @typedef AggregatorRoute
70
- * @property {string} [api_link] - Api_link
71
- * @property {Object} [data] - Data
72
- * @property {string} [payment_flow] - Payment_flow
73
- * @property {string} [payment_flow_data] - Payment_flow_data
44
+ * @typedef ErrorCodeAndDescription
45
+ * @property {string} description - Error human understandable description.
46
+ * @property {string} code - Error descrption code.
74
47
  */
75
48
 
76
49
  /**
77
- * @typedef AggregatorVersionItemSchema
78
- * @property {string} [is_equal_to]
79
- * @property {string} [is_greater_than]
80
- * @property {string} [is_less_than]
50
+ * @typedef HttpErrorCodeAndResponse
51
+ * @property {ErrorCodeAndDescription} error
52
+ * @property {boolean} success - Response is successful or not
81
53
  */
82
54
 
83
55
  /**
84
- * @typedef AggregatorVersionRequestSchema
85
- * @property {string} [is_equal_to]
86
- * @property {string} [is_greater_than]
87
- * @property {string} [is_less_than]
56
+ * @typedef IntentAppErrorList
57
+ * @property {string} [package_name] - Package_name
58
+ * @property {string} [code] - Code
88
59
  */
89
60
 
90
61
  /**
91
- * @typedef AggregatorVersionResponse
92
- * @property {AggregatorVersionItemSchema} [items]
93
- * @property {string} message - Message
94
- * @property {boolean} success - Successful or failure
62
+ * @typedef ProductCODData
63
+ * @property {Object} [items] - Item id with its cod availability.
64
+ * @property {CODChargesLimitsResponse} [cod_charges]
95
65
  */
96
66
 
97
67
  /**
98
- * @typedef BankDetailsForOTP
99
- * @property {string} account_holder
100
- * @property {string} account_no
101
- * @property {string} bank_name
102
- * @property {string} branch_name
103
- * @property {string} ifsc_code
68
+ * @typedef CODChargesLimitsResponse
69
+ * @property {number} [max_cart_value] - Max allowed cart value for cod order.
70
+ * @property {number} [min_cart_value] - Min allowed cart value for cod order.
71
+ * @property {number} [cod_charge] - Cod charges to be applied on order.
104
72
  */
105
73
 
106
74
  /**
107
- * @typedef CancelOrResendPaymentLinkRequest
108
- * @property {string} payment_link_id - Unique id of payment link
75
+ * @typedef PaymentModeLogo
76
+ * @property {string} large - Large
77
+ * @property {string} small - Smalll
109
78
  */
110
79
 
111
80
  /**
112
- * @typedef CancelPaymentLinkResponse
113
- * @property {string} message - Message
114
- * @property {number} status_code - HTTP status code
115
- * @property {boolean} success - Successful or failure
81
+ * @typedef IntentApp
82
+ * @property {string} [package_name] - Package_name
83
+ * @property {string} [display_name] - Display_name
84
+ * @property {string} [code] - Code
85
+ * @property {PaymentModeLogo} [logos]
116
86
  */
117
87
 
118
88
  /**
119
- * @typedef CartDetailsSerializer
120
- * @property {Object[]} articles - List of articles that are added in cart
121
- * @property {number} cart_value - Total cart value i.e. amount to be paid
122
- * @property {Object} items - Items that are added in cart
123
- * @property {number} [total_quantity] - Total number of items in cart
89
+ * @typedef PaymentModeList
90
+ * @property {number} [remaining_limit] - Remaining limit
91
+ * @property {string} [card_brand] - Card_brand
92
+ * @property {string} [card_fingerprint] - Card_fingerprint
93
+ * @property {string} [merchant_code] - Merchant code
94
+ * @property {boolean} [intent_flow] - Intent_flow
95
+ * @property {string} [code] - Code
96
+ * @property {string} [card_issuer] - Card_issuer
97
+ * @property {number} [cod_limit_per_order] - Cod limit per order
98
+ * @property {string} [card_reference] - Card_reference
99
+ * @property {string} [card_type] - Card_type
100
+ * @property {string} [card_isin] - Card_isin
101
+ * @property {number} [exp_month] - Exp_month
102
+ * @property {string} [fynd_vpa] - Fynd_vpa
103
+ * @property {string} [card_number] - Card_number
104
+ * @property {number} [display_priority] - Dispaly Priority
105
+ * @property {string} [display_name] - Display name
106
+ * @property {string} [card_id] - Card_id
107
+ * @property {number} [retry_count] - Retry_count
108
+ * @property {string} [card_name] - Card_name
109
+ * @property {number} [timeout] - Timeout
110
+ * @property {IntentAppErrorList[]} [intent_app_error_dict_list] -
111
+ * Intent_app_error_dict_list
112
+ * @property {string} [card_brand_image] - Card_brand_image
113
+ * @property {boolean} [expired] - Expired
114
+ * @property {PaymentModeLogo} [logo_url]
115
+ * @property {string} [card_token] - Card_token
116
+ * @property {string} aggregator_name - Aggregator_name
117
+ * @property {number} [cod_charges] - Cod charges to be applied on order.
118
+ * @property {ProductCODData} [product_cod_data]
119
+ * @property {number} [cod_limit] - Cod limit
120
+ * @property {IntentApp[]} [intent_app] - Intent_app
121
+ * @property {string} [nickname] - Nickname
122
+ * @property {boolean} [compliant_with_tokenisation_guidelines] - If card is
123
+ * tokenised or not
124
+ * @property {number} [exp_year] - Exp_year
125
+ * @property {string} [name] - Name
126
+ * @property {string[]} [intent_app_error_list] - Intent_app_error_list
124
127
  */
125
128
 
126
129
  /**
127
- * @typedef CODChargesLimitsResponse
128
- * @property {number} [cod_charge] - Cod charges to be applied on order.
129
- * @property {number} [max_cart_value] - Max allowed cart value for cod order.
130
- * @property {number} [min_cart_value] - Min allowed cart value for cod order.
130
+ * @typedef RootPaymentMode
131
+ * @property {PaymentModeList[]} [list] - Payment mode
132
+ * @property {number} display_priority - Dispaly Priority
133
+ * @property {boolean} [add_card_enabled] - Annonymous card flag
134
+ * @property {boolean} [save_card] - Card save or not
135
+ * @property {boolean} [is_pay_by_card_pl] - This flag will be true in case of
136
+ * Payment link payment through card
137
+ * @property {string} display_name - Payment mode display name
138
+ * @property {boolean} [anonymous_enable] - Annonymous card flag
139
+ * @property {string} name - Payment mode name
140
+ * @property {string} [aggregator_name] - Dispaly Priority
131
141
  */
132
142
 
133
143
  /**
134
- * @typedef CODdata
135
- * @property {boolean} is_active - COD option is active or not
136
- * @property {number} limit - Total Limit of user
137
- * @property {number} remaining_limit - Remaining Limit for COD of User
138
- * @property {number} usages - Used COD limit from the user Limit
139
- * @property {string} user_id - Payment mode name
144
+ * @typedef PaymentOptions
145
+ * @property {RootPaymentMode[]} payment_option - Payment options
140
146
  */
141
147
 
142
148
  /**
143
- * @typedef Code
144
- * @property {string} code - Payment Method Code
145
- * @property {string} merchant_code - Merchant Payment Code
146
- * @property {string} name - Name of payment method
149
+ * @typedef AggregatorRoute
150
+ * @property {Object} [data] - Data
151
+ * @property {string} [payment_flow_data] - Payment_flow_data
152
+ * @property {string} [payment_flow] - Payment_flow
153
+ * @property {string} [api_link] - Api_link
147
154
  */
148
155
 
149
156
  /**
150
- * @typedef CreatePaymentLinkMeta
151
- * @property {string} amount
152
- * @property {string} [assign_card_id]
153
- * @property {string} cart_id
154
- * @property {string} checkout_mode
157
+ * @typedef PaymentFlow
158
+ * @property {AggregatorRoute} [bqr_razorpay]
159
+ * @property {AggregatorRoute} [fynd]
160
+ * @property {AggregatorRoute} [epaylater]
161
+ * @property {AggregatorRoute} [razorpay]
162
+ * @property {AggregatorRoute} [juspay]
163
+ * @property {AggregatorRoute} [ajiodhan]
164
+ * @property {AggregatorRoute} [simpl]
165
+ * @property {AggregatorRoute} [rupifi]
166
+ * @property {AggregatorRoute} [mswipe]
167
+ * @property {AggregatorRoute} [stripe]
168
+ * @property {AggregatorRoute} [ccavenue]
169
+ * @property {AggregatorRoute} [payubiz]
170
+ * @property {AggregatorRoute} [jiopay]
155
171
  */
156
172
 
157
173
  /**
158
- * @typedef CreatePaymentLinkRequest
159
- * @property {number} amount - Total value of order
160
- * @property {string} [country_phone_code] - Phone country code for complete mobile number
161
- * @property {string} [description] - Merchant order id
162
- * @property {string} email - Email to which the payment link is to be sent
163
- * @property {string} external_order_id - Merchant order id
164
- * @property {CreatePaymentLinkMeta} meta
165
- * @property {string} mobile_number - Mobile number to which the payment link is
166
- * to be sent
174
+ * @typedef PaymentOptionAndFlow
175
+ * @property {RootPaymentMode[]} payment_option - Payment options
176
+ * @property {PaymentFlow} payment_flows
167
177
  */
168
178
 
169
179
  /**
170
- * @typedef CreatePaymentLinkResponse
171
- * @property {string} message - Message
172
- * @property {string} [payment_link_id] - Unique id of payment link
173
- * @property {string} [payment_link_url] - Url of payment link
174
- * @property {number} [polling_timeout] - Polling request timeout
175
- * @property {number} status_code - HTTP status code
176
- * @property {boolean} success - Successful or failure
180
+ * @typedef AdvanceObject
181
+ * @property {boolean} [is_active] - Is Advance Payment active
182
+ * @property {number} [amount] - Amount for Payment Breakdown
183
+ * @property {string} [time_unit] - Time unit for refunds
184
+ * @property {string} [description] - The description for Advance Payment (user
185
+ * configured)
186
+ * @property {string} [display_name] - The display name for Advance payment
187
+ * @property {string} [prepayment_type] - Type of prepayment value
188
+ * @property {number} [prepayment_value] - Value for prepayment in advance payment
189
+ * @property {string} [cancellation_type] - Type of cancellation
190
+ * @property {number} [refund_time_limit] - Time limit for processing refund
191
+ * @property {string[]} [all_prepayment_type] - All available types of prepayment
192
+ * @property {boolean} [allow_custom_advance_amount] - Is custom advance amount allowed?
177
193
  */
178
194
 
179
195
  /**
180
- * @typedef DeletePayoutResponse
181
- * @property {boolean} success - Response is successful or not
196
+ * @typedef SplitObject
197
+ * @property {number} [total_number_of_splits] - Maximum amount of splits allowed
198
+ * @property {number} [splits_remaining] - Number of splits remaining
199
+ * @property {number} [amount_remaining] - Amount pending to be paid
182
200
  */
183
201
 
184
202
  /**
185
- * @typedef DeleteSubscriptionPaymentMethodResponse
186
- * @property {boolean} success - Success or failure.
203
+ * @typedef AdvancePaymentObject
204
+ * @property {string} [name] - Name of Advance Payment Mode
205
+ * @property {number} [display_priority] - Display Priority for Payment Option
206
+ * @property {number} [payment_mode_id] - Payment Mode ID for Advance Payment Option
207
+ * @property {string} [display_name] - Display name for Advance Payment Mode
208
+ * @property {PaymentModeList[]} [list] - Payment mode
209
+ * @property {SplitObject} [split]
210
+ * @property {AdvanceObject} [advance]
187
211
  */
188
212
 
189
213
  /**
190
- * @typedef EdcAddRequest
191
- * @property {number} aggregator_id - Aggregator which will accept payment
192
- * @property {string} [device_tag] - Device tag of edc device to identify it
193
- * @property {string} edc_device_serial_no - Serial number or imei of EDC device
194
- * @property {string} edc_model - Model of the edc machine
195
- * @property {number} store_id - Store at which devices is to used
196
- * @property {string} terminal_serial_no - Device serial number of
197
- * terminal(android tablet)
214
+ * @typedef PaymentModeRouteResponse
215
+ * @property {PaymentOptionAndFlow} payment_options
216
+ * @property {boolean} success - Response is successful or not
217
+ * @property {Object} [payment_breakup] - Payment Breakup for advance payment
218
+ * @property {AdvancePaymentObject[]} [advance_payment] - Advance Payment Array
198
219
  */
199
220
 
200
221
  /**
201
- * @typedef EdcAggregatorAndModelListResponse
202
- * @property {EdcModelData[]} data - List of aggregators and their edc models
222
+ * @typedef PaymentOptionsResponse
223
+ * @property {PaymentOptions} payment_options
203
224
  * @property {boolean} success - Response is successful or not
225
+ * @property {Object} [payment_breakup] - Payment Breakup for advance payment
204
226
  */
205
227
 
206
228
  /**
207
- * @typedef EdcDevice
208
- * @property {number} aggregator_id - Aggregator which will accept payment
209
- * @property {string} [aggregator_name] - Name of the corresponding aggregator
210
- * @property {string} application_id - Application ID
211
- * @property {string} device_tag - Device tag of edc device to identify it
212
- * @property {string} edc_device_serial_no - Serial number of EDC device
213
- * @property {string} [edc_model] - Name of the model
214
- * @property {boolean} is_active - State whether device is active or inactive
215
- * @property {string} [merchant_store_pos_code] - This is provided by pinelabs
216
- * @property {number} store_id - Store at which devices is to used
217
- * @property {string} terminal_serial_no - Device serial number of
218
- * terminal(android tablet)
219
- * @property {string} terminal_unique_identifier - Genearated unique value for edc device
229
+ * @typedef PayoutCustomer
230
+ * @property {string} [unique_external_id] - Unique_external_id
231
+ * @property {string} [mobile] - Customer Mobile No
232
+ * @property {string} [name] - Customer Name
233
+ * @property {string} [email] - Customer Email
234
+ * @property {number} [id] - Customer ID
220
235
  */
221
236
 
222
237
  /**
223
- * @typedef EdcDeviceAddResponse
224
- * @property {EdcDevice} data
225
- * @property {boolean} success - Response is successful or not
238
+ * @typedef PayoutMoreAttributes
239
+ * @property {string} [branch_name] - Branch Name
240
+ * @property {string} [city] - City
241
+ * @property {string} [account_no] - Account Number
242
+ * @property {string} [country] - Country
243
+ * @property {string} [state] - State
244
+ * @property {string} [account_holder] - Account Holder Name
245
+ * @property {string} [ifsc_code] - IFSC Code
246
+ * @property {string} [account_type] - Account Type Saving or Current
247
+ * @property {string} [bank_name] - Name of Bank
226
248
  */
227
249
 
228
250
  /**
229
- * @typedef EdcDeviceDetailsResponse
230
- * @property {EdcDevice} data
231
- * @property {boolean} success - Response is successful or not
251
+ * @typedef PayoutAggregator
252
+ * @property {number} [aggregator_id] - Aggregator_id
253
+ * @property {number} [aggregator_fund_id] - Aggregator_fund_id
254
+ * @property {number} [payout_details_id] - Payout_details_id
232
255
  */
233
256
 
234
257
  /**
235
- * @typedef EdcDeviceListResponse
236
- * @property {EdcDevice[]} items - List of all edc mapped to the application
237
- * options with their Details.
238
- * @property {Page} page
239
- * @property {boolean} success - Response is successful or not
258
+ * @typedef Payout
259
+ * @property {PayoutCustomer} customers
260
+ * @property {PayoutMoreAttributes} more_attributes
261
+ * @property {boolean} is_default - Default or not
262
+ * @property {PayoutAggregator[]} [payouts_aggregators]
263
+ * @property {string} unique_transfer_no - Display priority of the payment mode
264
+ * @property {boolean} is_active - Enable/DIsable Flag Payout
265
+ * @property {string} transfer_type - Transafer type
240
266
  */
241
267
 
242
268
  /**
243
- * @typedef EdcDeviceStatsResponse
244
- * @property {StatisticsData} statistics
269
+ * @typedef PayoutsResponse
245
270
  * @property {boolean} success - Response is successful or not
271
+ * @property {Payout[]} items - Contains list of PayoutSchema
246
272
  */
247
273
 
248
274
  /**
249
- * @typedef EdcDeviceUpdateResponse
250
- * @property {boolean} success - Response is successful or not
275
+ * @typedef PayoutBankDetails
276
+ * @property {string} ifsc_code
277
+ * @property {string} [account_holder]
278
+ * @property {string} [state]
279
+ * @property {string} [country]
280
+ * @property {string} account_type
281
+ * @property {string} [account_no]
282
+ * @property {string} [city]
283
+ * @property {string} [bank_name]
284
+ * @property {string} [branch_name]
285
+ * @property {number} [pincode]
251
286
  */
252
287
 
253
288
  /**
254
- * @typedef EdcModelData
255
- * @property {string} aggregator - Name of aggregator
256
- * @property {number} aggregator_id - ID of aggregator
257
- * @property {string[]} models - List of string of edc models
289
+ * @typedef PayoutRequest
290
+ * @property {string} aggregator - Aggregator Name
291
+ * @property {Object} users - Payout users object
292
+ * @property {string} unique_external_id - Unique Id of Payout
293
+ * @property {boolean} is_active - Enable or Disable Flag Payout
294
+ * @property {PayoutBankDetails} bank_details
295
+ * @property {string} transfer_type - Transafer type
258
296
  */
259
297
 
260
298
  /**
261
- * @typedef EdcUpdateRequest
262
- * @property {number} [aggregator_id] - Aggregator which will accept payment
263
- * @property {string} [device_tag] - Device tag of edc device to identify it
264
- * @property {string} [edc_device_serial_no] - Serial number or imei of EDC device
265
- * @property {string} [edc_model] - Model of the edc machine
266
- * @property {boolean} [is_active] - State whether device is active or inactive
267
- * @property {string} [merchant_store_pos_code] - This is provided by pinelabs
268
- * @property {number} [store_id] - Store at which devices is to used
299
+ * @typedef PayoutResponse
300
+ * @property {string} payment_status - Status of payment
301
+ * @property {Object} users - Users details object
302
+ * @property {string} aggregator - Aggregator Name
303
+ * @property {string} unique_transfer_no - Unique transfer no
304
+ * @property {boolean} is_active - Enable or DIsable Flag Payout
305
+ * @property {Object} bank_details - Payout bank_details object
306
+ * @property {boolean} success - Response is successful or not
307
+ * @property {string} transfer_type - Transfer type
308
+ * @property {boolean} created - Created flag
309
+ * @property {Object} payouts - Payout object
269
310
  */
270
311
 
271
312
  /**
272
- * @typedef ErrorCodeAndDescription
273
- * @property {string} code - Error descrption code.
274
- * @property {string} description - Error human understandable description.
313
+ * @typedef UpdatePayoutResponse
314
+ * @property {boolean} is_default - Enable or Disable Default Payout
315
+ * @property {boolean} is_active - Enable or DIsable Flag Payout
316
+ * @property {boolean} success - Response is successful or not
275
317
  */
276
318
 
277
319
  /**
278
- * @typedef ErrorCodeDescription
279
- * @property {string} code - Error descrption code.
280
- * @property {string} description - Error human understandable description.
281
- * @property {boolean} success - Response is successful or not
320
+ * @typedef UpdatePayoutRequest
321
+ * @property {boolean} is_default - Enable or Disable Default Payout
322
+ * @property {boolean} is_active - Enable or Disable Flag Payout
323
+ * @property {string} unique_external_id - Unique Id of Payout
282
324
  */
283
325
 
284
326
  /**
285
- * @typedef ErrorDescription
286
- * @property {number} [amount] - Amount paid
287
- * @property {boolean} [cancelled] - Payment link is cancelled or not
288
- * @property {boolean} [expired] - Payment link expired or not
289
- * @property {boolean} [invalid_id] - Payment link id is valid or not
290
- * @property {string} [merchant_name] - Name of merchant that created payment link
291
- * @property {string} [merchant_order_id] - Order id
292
- * @property {string} [msg] - Message
293
- * @property {string} [payment_transaction_id] - Payment transaction id
327
+ * @typedef DeletePayoutResponse
328
+ * @property {boolean} success - Response is successful or not
294
329
  */
295
330
 
296
331
  /**
297
- * @typedef ErrorResponse
298
- * @property {ErrorDescription} [error]
299
- * @property {string} message - Message
300
- * @property {number} status_code - HTTP status code
301
- * @property {boolean} success - Successful or failure
332
+ * @typedef SubscriptionPaymentMethodResponse
333
+ * @property {Object[]} data - Subscription Payment Method Object
334
+ * @property {boolean} success - Response is successful or not
302
335
  */
303
336
 
304
337
  /**
305
- * @typedef FromConfig
306
- * @property {string} business_unit - Business unit name
307
- * @property {string} device - Device name
338
+ * @typedef DeleteSubscriptionPaymentMethodResponse
339
+ * @property {boolean} success - Success or failure.
308
340
  */
309
341
 
310
342
  /**
311
- * @typedef GetOauthUrlResponse
343
+ * @typedef SubscriptionConfigResponse
344
+ * @property {string} aggregator - Aggregator Name
345
+ * @property {Object} config - Aggregator Config
312
346
  * @property {boolean} success - Response is successful or not
313
- * @property {string} url - The url to call for authenticating
314
347
  */
315
348
 
316
349
  /**
317
- * @typedef GetPaymentCode
318
- * @property {PaymentCode} method_code
350
+ * @typedef SaveSubscriptionSetupIntentRequest
351
+ * @property {string} unique_external_id - Unique id i.e company:id
319
352
  */
320
353
 
321
354
  /**
322
- * @typedef GetPaymentCodeResponse
323
- * @property {GetPaymentCode} data
324
- * @property {boolean} success - Response is successful or not.
355
+ * @typedef SaveSubscriptionSetupIntentResponse
356
+ * @property {Object} data - Subscription Payment Method Object
357
+ * @property {boolean} success - Response is successful or not
325
358
  */
326
359
 
327
360
  /**
328
- * @typedef GetPaymentLinkResponse
329
- * @property {number} [amount] - Total value of order
330
- * @property {string} [external_order_id] - Merchant order id
331
- * @property {string} [merchant_name] - Merchant name
332
- * @property {string} message - Message
333
- * @property {string} [payment_link_current_status] - Status of payment link
334
- * @property {string} [payment_link_url] - Url of payment link
335
- * @property {number} [polling_timeout] - Polling request timeout
336
- * @property {number} status_code - HTTP status code
337
- * @property {boolean} success - Successful or failure
361
+ * @typedef RefundAccountResponse
362
+ * @property {boolean} [is_verified_flag]
363
+ * @property {string} message - Response message
364
+ * @property {Object} [data] - Refund account data.
365
+ * @property {boolean} success - Success or failure flag.
338
366
  */
339
367
 
340
368
  /**
341
- * @typedef GetUserCODLimitResponse
369
+ * @typedef NotFoundResourceError
370
+ * @property {string} description - Not Found
371
+ * @property {string} code - Bad Request Data
342
372
  * @property {boolean} success - Response is successful or not
343
- * @property {CODdata} user_cod_data
344
373
  */
345
374
 
346
375
  /**
347
- * @typedef HttpErrorCodeAndResponse
348
- * @property {ErrorCodeAndDescription} error
349
- * @property {boolean} success - Response is successful or not
376
+ * @typedef BankDetailsForOTP
377
+ * @property {string} ifsc_code
378
+ * @property {string} account_no
379
+ * @property {string} branch_name
380
+ * @property {string} bank_name
381
+ * @property {string} account_holder
382
+ */
383
+
384
+ /**
385
+ * @typedef AddBeneficiaryDetailsOTPRequest
386
+ * @property {string} order_id
387
+ * @property {BankDetailsForOTP} details
350
388
  */
351
389
 
352
390
  /**
353
391
  * @typedef IfscCodeResponse
354
- * @property {string} bank_name - Bank Name Of Account
355
392
  * @property {string} branch_name - Branch Name Of Account
356
393
  * @property {boolean} [success] - Response is successful or not
394
+ * @property {string} bank_name - Bank Name Of Account
357
395
  */
358
396
 
359
397
  /**
360
- * @typedef IntentApp
361
- * @property {string} [code] - Code
362
- * @property {string} [display_name] - Display_name
363
- * @property {PaymentModeLogo} [logos]
364
- * @property {string} [package_name] - Package_name
398
+ * @typedef OrderBeneficiaryDetails
399
+ * @property {string} subtitle - SHort Title Of Account
400
+ * @property {number} id -
401
+ * @property {string} title - Title Of Account
402
+ * @property {string} account_holder - Account Holder Name
403
+ * @property {string} ifsc_code - Ifsc Code Of Account
404
+ * @property {string} [comment] - Remarks
405
+ * @property {string} created_on - Creation Date of Beneficiary
406
+ * @property {string} display_name - Display Name Of Account
407
+ * @property {string} [delights_user_name] - User Id Who filled the Beneficiary
408
+ * @property {string} transfer_mode - Transfer Mode Of Account
409
+ * @property {string} email - EMail of User
410
+ * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not
411
+ * @property {string} [branch_name] - Branch Name Of Account
412
+ * @property {string} address - Address of User
413
+ * @property {string} modified_on - MOdification Date of Beneficiary
414
+ * @property {string} beneficiary_id - Benenficiary Id
415
+ * @property {string} account_no - Account Number
416
+ * @property {string} bank_name - Bank Name Of Account
417
+ * @property {string} [mobile] - MObile no of User
365
418
  */
366
419
 
367
420
  /**
368
- * @typedef IntentAppErrorList
369
- * @property {string} [code] - Code
370
- * @property {string} [package_name] - Package_name
421
+ * @typedef OrderBeneficiaryResponse
422
+ * @property {OrderBeneficiaryDetails[]} [beneficiaries] - All Beneficiaries Of An Order
423
+ * @property {boolean} [show_beneficiary_details] - Show beneficiary details or not.
371
424
  */
372
425
 
373
426
  /**
374
- * @typedef LinkStatus
375
- * @property {string} message - Message
376
- * @property {string} status - Link action status
427
+ * @typedef MultiTenderPaymentMeta
428
+ * @property {Object} [extra_meta]
429
+ * @property {string} [order_id]
430
+ * @property {string} [payment_id]
431
+ * @property {string} [current_status]
432
+ * @property {string} [payment_gateway]
377
433
  */
378
434
 
379
435
  /**
380
- * @typedef MerchantOnBoardingRequest
381
- * @property {string} aggregator - Payment aggregator name
382
- * @property {string} app_id - Application id
383
- * @property {string} credit_line_id - Merchant ID at Ajiodhan's end
384
- * @property {string} status - Status
385
- * @property {string} user_id - Deadlock or Grimlock user id
436
+ * @typedef MultiTenderPaymentMethod
437
+ * @property {string} [name] - Payment mode name
438
+ * @property {MultiTenderPaymentMeta} [meta]
439
+ * @property {number} amount - Payment amount
440
+ * @property {string} mode
386
441
  */
387
442
 
388
443
  /**
389
- * @typedef MerchantOnBoardingResponse
390
- * @property {Object} data
391
- * @property {boolean} success - Success/Failure of the transaction
444
+ * @typedef PaymentConfirmationRequest
445
+ * @property {string} order_id - Unique order id
446
+ * @property {MultiTenderPaymentMethod[]} payment_methods
392
447
  */
393
448
 
394
449
  /**
395
- * @typedef MerchantPaymentModeRequest
396
- * @property {string} business_unit - Business unit
397
- * @property {Object} device - List of devices and its activation status
398
- * @property {Object[]} items - List of item details with respect to payment_mode
450
+ * @typedef PaymentConfirmationResponse
451
+ * @property {string} order_id - Unique order id
452
+ * @property {string} message - Message
453
+ * @property {boolean} success - Payment confirmation updated or not.
399
454
  */
400
455
 
401
456
  /**
402
- * @typedef MerchnatPaymentModeRequest
403
- * @property {Object} [offline] - Details to be updated for online payment configuration.
404
- * @property {Object} [online] - Details to be updated for offline payment configuration.
457
+ * @typedef CODdata
458
+ * @property {number} remaining_limit - Remaining Limit for COD of User
459
+ * @property {string} user_id - Payment mode name
460
+ * @property {boolean} is_active - COD option is active or not
461
+ * @property {number} limit - Total Limit of user
462
+ * @property {number} usages - Used COD limit from the user Limit
405
463
  */
406
464
 
407
465
  /**
408
- * @typedef MultiTenderPaymentMeta
409
- * @property {string} [current_status]
410
- * @property {Object} [extra_meta]
411
- * @property {string} [order_id]
412
- * @property {string} [payment_gateway]
413
- * @property {string} [payment_id]
466
+ * @typedef GetUserCODLimitResponse
467
+ * @property {CODdata} user_cod_data
468
+ * @property {boolean} success - Response is successful or not
414
469
  */
415
470
 
416
471
  /**
417
- * @typedef MultiTenderPaymentMethod
418
- * @property {number} amount - Payment amount
419
- * @property {MultiTenderPaymentMeta} [meta]
420
- * @property {string} mode
421
- * @property {string} [name] - Payment mode name
472
+ * @typedef SetCODForUserRequest
473
+ * @property {string} mobileno - Mobile No. of User
474
+ * @property {boolean} is_active - Either true or false
475
+ * @property {string} merchant_user_id - Merchant User id
422
476
  */
423
477
 
424
478
  /**
425
- * @typedef NotFoundResourceError
426
- * @property {string} code - Bad Request Data
427
- * @property {string} description - Not Found
479
+ * @typedef SetCODOptionResponse
480
+ * @property {string} message - Message
428
481
  * @property {boolean} success - Response is successful or not
429
482
  */
430
483
 
431
484
  /**
432
- * @typedef OrderBeneficiaryDetails
433
- * @property {string} account_holder - Account Holder Name
434
- * @property {string} account_no - Account Number
435
- * @property {string} address - Address of User
436
- * @property {string} bank_name - Bank Name Of Account
437
- * @property {string} beneficiary_id - Benenficiary Id
438
- * @property {string} [branch_name] - Branch Name Of Account
439
- * @property {string} [comment] - Remarks
440
- * @property {string} created_on - Creation Date of Beneficiary
441
- * @property {string} [delights_user_name] - User Id Who filled the Beneficiary
442
- * @property {string} display_name - Display Name Of Account
443
- * @property {string} email - EMail of User
444
- * @property {number} id -
445
- * @property {string} ifsc_code - Ifsc Code Of Account
446
- * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not
447
- * @property {string} [mobile] - MObile no of User
448
- * @property {string} modified_on - MOdification Date of Beneficiary
449
- * @property {string} subtitle - SHort Title Of Account
450
- * @property {string} title - Title Of Account
451
- * @property {string} transfer_mode - Transfer Mode Of Account
485
+ * @typedef EdcModelData
486
+ * @property {string} aggregator - Name of aggregator
487
+ * @property {number} aggregator_id - ID of aggregator
488
+ * @property {string[]} models - List of string of edc models
452
489
  */
453
490
 
454
491
  /**
455
- * @typedef OrderBeneficiaryResponse
456
- * @property {OrderBeneficiaryDetails[]} [beneficiaries] - All Beneficiaries Of An Order
457
- * @property {boolean} [show_beneficiary_details] - Show beneficiary details or not.
492
+ * @typedef EdcAggregatorAndModelListResponse
493
+ * @property {EdcModelData[]} data - List of aggregators and their edc models
494
+ * @property {boolean} success - Response is successful or not
458
495
  */
459
496
 
460
497
  /**
461
- * @typedef OrderDetail
462
- * @property {string} aggregator - Name of the payment gateway aggregator.
463
- * @property {Object} aggregator_order_details - Aggregator order details
464
- * generated by the payment gateway.
465
- * @property {number} amount - Amount paid.
466
- * @property {string} currency - Currency of the payment.
467
- * @property {string} gid - Global identifier of the entity (e.g. order, cart
468
- * etc.) against which payment_session was initiated. This is generated by
469
- * Fynd payments platform and is unique.
470
- * @property {string} status - Order status created by payment gateway aggregator.
498
+ * @typedef StatisticsData
499
+ * @property {number} inactive_device_count - No of inactive devices
500
+ * @property {number} active_device_count - No of active devices
471
501
  */
472
502
 
473
503
  /**
474
- * @typedef Page
475
- * @property {number} [current]
476
- * @property {boolean} [has_next]
477
- * @property {boolean} [has_previous]
478
- * @property {number} [item_total]
479
- * @property {string} [next_id]
480
- * @property {number} [size]
481
- * @property {string} type
504
+ * @typedef EdcDeviceStatsResponse
505
+ * @property {StatisticsData} statistics
506
+ * @property {boolean} success - Response is successful or not
482
507
  */
483
508
 
484
509
  /**
485
- * @typedef PaymentCode
486
- * @property {Code} codes
487
- * @property {string} name - Name of payment name
488
- * @property {string} networks - Payment networks
489
- * @property {string} types - Type of payment mode
510
+ * @typedef EdcAddRequest
511
+ * @property {string} edc_model - Model of the edc machine
512
+ * @property {number} store_id - Store at which devices is to used
513
+ * @property {number} aggregator_id - Aggregator which will accept payment
514
+ * @property {string} edc_device_serial_no - Serial number or imei of EDC device
515
+ * @property {string} terminal_serial_no - Device serial number of
516
+ * terminal(android tablet)
517
+ * @property {string} [device_tag] - Device tag of edc device to identify it
490
518
  */
491
519
 
492
520
  /**
493
- * @typedef PaymentConfirmationRequest
494
- * @property {string} order_id - Unique order id
495
- * @property {MultiTenderPaymentMethod[]} payment_methods
521
+ * @typedef EdcDevice
522
+ * @property {string} [edc_model] - Name of the model
523
+ * @property {number} store_id - Store at which devices is to used
524
+ * @property {number} aggregator_id - Aggregator which will accept payment
525
+ * @property {string} terminal_unique_identifier - Genearated unique value for edc device
526
+ * @property {string} edc_device_serial_no - Serial number of EDC device
527
+ * @property {boolean} is_active - State whether device is active or inactive
528
+ * @property {string} [aggregator_name] - Name of the corresponding aggregator
529
+ * @property {string} terminal_serial_no - Device serial number of
530
+ * terminal(android tablet)
531
+ * @property {string} [merchant_store_pos_code] - This is provided by pinelabs
532
+ * @property {string} device_tag - Device tag of edc device to identify it
533
+ * @property {string} application_id - Application ID
496
534
  */
497
535
 
498
536
  /**
499
- * @typedef PaymentConfirmationResponse
500
- * @property {string} message - Message
501
- * @property {string} order_id - Unique order id
502
- * @property {boolean} success - Payment confirmation updated or not.
537
+ * @typedef EdcDeviceAddResponse
538
+ * @property {EdcDevice} data
539
+ * @property {boolean} success - Response is successful or not
503
540
  */
504
541
 
505
542
  /**
506
- * @typedef PaymentCustomConfigCustomerRequestSchema
507
- * @property {number[]} [groups] - Customer groups.
508
- * @property {string} restriction - Customer restriction type.
543
+ * @typedef EdcDeviceDetailsResponse
544
+ * @property {EdcDevice} data
545
+ * @property {boolean} success - Response is successful or not
509
546
  */
510
547
 
511
548
  /**
512
- * @typedef PaymentCustomConfigCustomerSchema
513
- * @property {number[]} [groups] - Customer groups.
514
- * @property {string} restriction - Customer restriction type.
515
- * @property {string[]} [types] - Customer types.
549
+ * @typedef EdcUpdateRequest
550
+ * @property {string} [edc_model] - Model of the edc machine
551
+ * @property {number} [store_id] - Store at which devices is to used
552
+ * @property {number} [aggregator_id] - Aggregator which will accept payment
553
+ * @property {string} [edc_device_serial_no] - Serial number or imei of EDC device
554
+ * @property {boolean} [is_active] - State whether device is active or inactive
555
+ * @property {string} [merchant_store_pos_code] - This is provided by pinelabs
556
+ * @property {string} [device_tag] - Device tag of edc device to identify it
516
557
  */
517
558
 
518
559
  /**
519
- * @typedef PaymentCustomConfigDetailsRequestSchema
520
- * @property {PaymentCustomConfigCustomerRequestSchema} customer
521
- * @property {number} min_order_value - The minimum order value for the store
522
- * @property {PaymentCustomConfigModeSchema} payment_mode
560
+ * @typedef EdcDeviceUpdateResponse
561
+ * @property {boolean} success - Response is successful or not
523
562
  */
524
563
 
525
564
  /**
526
- * @typedef PaymentCustomConfigDetailsSchema
527
- * @property {PaymentCustomConfigCustomerSchema} customer
528
- * @property {number} min_order_value - The minimum order value for the store
529
- * @property {PaymentCustomConfigModeSchema} payment_mode
565
+ * @typedef Page
566
+ * @property {number} [item_total]
567
+ * @property {string} [next_id]
568
+ * @property {boolean} [has_previous]
569
+ * @property {boolean} [has_next]
570
+ * @property {number} [current]
571
+ * @property {string} type
572
+ * @property {number} [size]
530
573
  */
531
574
 
532
575
  /**
533
- * @typedef PaymentCustomConfigModeSchema
534
- * @property {boolean} available - Indicates whether the payment mode is available.
535
- * @property {string[]} [post_order] - Payment modes available for post-order.
536
- * @property {string[]} [pre_order] - Payment modes available for pre-order.
576
+ * @typedef EdcDeviceListResponse
577
+ * @property {EdcDevice[]} items - List of all edc mapped to the application
578
+ * options with their Details.
579
+ * @property {Page} page
580
+ * @property {boolean} success - Response is successful or not
537
581
  */
538
582
 
539
583
  /**
540
- * @typedef PaymentCustomConfigRequestSchema
541
- * @property {string} business_unit - The business unit to which the store belongs.
542
- * @property {PaymentCustomConfigDetailsRequestSchema[]} items
584
+ * @typedef PaymentInitializationRequest
585
+ * @property {string} [razorpay_payment_id] - Payment gateway payment id
586
+ * @property {string} [device_id] - EDC machine Unique Identifier
587
+ * @property {string} email - Customer valid email
588
+ * @property {string} customer_id - Payment gateway customer id.
589
+ * @property {string} [vpa] - Customer vpa address
590
+ * @property {string} aggregator - Payment gateway name
591
+ * @property {string} order_id - Payment gateway order id
592
+ * @property {string} currency - Currency code.
593
+ * @property {number} amount - Payable amount.
594
+ * @property {string} contact - Customer valid mobile number
595
+ * @property {number} [timeout] - Payment polling timeout if not recieved response
596
+ * @property {string} merchant_order_id - Unique fynd order id
597
+ * @property {string} method - Payment method
543
598
  */
544
599
 
545
600
  /**
546
- * @typedef PaymentCustomConfigResponseSchema
547
- * @property {PaymentModeCustomConfigSchema[]} items
548
- * @property {string} message
549
- * @property {boolean} success
601
+ * @typedef PaymentInitializationResponse
602
+ * @property {string} [razorpay_payment_id] - Payment id.
603
+ * @property {string} [device_id] - EDC machine Unique Identifier
604
+ * @property {string} [upi_poll_url] - UPI poll url.
605
+ * @property {string} [customer_id] - Payment gateway customer id.
606
+ * @property {string} polling_url - Polling url.
607
+ * @property {string} [vpa] - Customer vpa address
608
+ * @property {string} aggregator - Payment gateway name
609
+ * @property {string} [currency] - Currency code.
610
+ * @property {string} merchant_order_id - Order id
611
+ * @property {number} [amount] - Payable amount.
612
+ * @property {number} [timeout] - Timeout.
613
+ * @property {string} [virtual_id] - Payment virtual address.
614
+ * @property {string} [bqr_image] - Bharath qr image url.
615
+ * @property {string} [aggregator_order_id] - Payment order id
616
+ * @property {boolean} success - Response is successful or not.
617
+ * @property {string} [status] - Status of payment.
618
+ * @property {string} method - Payment method
550
619
  */
551
620
 
552
621
  /**
553
- * @typedef PaymentDetailsSerializer
554
- * @property {string} [aggregator_customer_id] - Unique customer id generated by
555
- * payment gateway, not required for standard checkout.
556
- * @property {string} [aggregator_order_id] - Unique order id or payment request
557
- * id generated by payment gateway
558
- * @property {number} amount - Amount paid.
559
- * @property {number} amount_captured - Amount which is captured or credited to
560
- * merchant account
561
- * @property {number} [amount_refunded]
562
- * @property {string} [cancel_url] - Cancel url sent by Fynd platform at the
563
- * time of payment creation
564
- * @property {boolean} [captured] - Whether the payment is captured (credited to
565
- * merchant account) by payment gateway.
566
- * @property {string} [created] - Timestamp in epoch
567
- * @property {string} currency - Currency of the payment.
568
- * @property {string} g_user_id - Global user identifier - unique user id
569
- * generated by Fynd platform
570
- * @property {string} gid - Global identifier of the entity (e.g. order, cart
571
- * etc.) against which payment_session was initiated. This is generated by
572
- * Fynd payments platform and is unique.
573
- * @property {string} [kind] - Optional kind of purchase/payment - one time
574
- * payment (sale) or subcription. defaults to sale.
575
- * @property {string} [locale] - User's locale
576
- * @property {string} [merchant_locale] - Merchant's locale
577
- * @property {Object} [meta] - Metadata
578
- * @property {string} mode - Test or live, test mode uses test credentials so
579
- * that actual payment is not created.
580
- * @property {string} [payment_id] - Unique transaction id generated by payment gateway
581
- * @property {Object[]} payment_methods - Method of payment
582
- * @property {string} status - Stautus of the payment
583
- * @property {string} [success_url] - Success url sent by Fynd platform at the
584
- * time of payment creation
585
- */
586
-
587
- /**
588
- * @typedef PaymentFlow
589
- * @property {AggregatorRoute} [ajiodhan]
590
- * @property {AggregatorRoute} [bqr_razorpay]
591
- * @property {AggregatorRoute} [ccavenue]
592
- * @property {AggregatorRoute} [epaylater]
593
- * @property {AggregatorRoute} [fynd]
594
- * @property {AggregatorRoute} [jiopay]
595
- * @property {AggregatorRoute} [juspay]
596
- * @property {AggregatorRoute} [mswipe]
597
- * @property {AggregatorRoute} [payubiz]
598
- * @property {AggregatorRoute} [razorpay]
599
- * @property {AggregatorRoute} [rupifi]
600
- * @property {AggregatorRoute} [simpl]
601
- * @property {AggregatorRoute} [stripe]
602
- */
603
-
604
- /**
605
- * @typedef PaymentGatewayConfig
606
- * @property {string} config_type - Config Type of the aggregator
607
- * @property {boolean} [is_active] - Enable or Disable Flag
608
- * @property {string} key - Api key of the payment aggregator
609
- * @property {string} merchant_salt - Merchant key of the payment aggregator
610
- * @property {string} secret - Secret Key of the payment aggregator
611
- */
612
-
613
- /**
614
- * @typedef PaymentGatewayConfigRequest
615
- * @property {PaymentGatewayConfig} [aggregator_name]
616
- * @property {string} app_id - Application Id to which Payment config Mapped
617
- * @property {boolean} [is_active] - Enable or Disable Flag
618
- */
619
-
620
- /**
621
- * @typedef PaymentGatewayConfigResponse
622
- * @property {Object[]} [aggregators] - List of all speceific Payment options
623
- * with their Details.
624
- * @property {string} app_id - Application Id to which Payment config Mapped
625
- * @property {boolean} created - Response is created or not
626
- * @property {string[]} display_fields - List of all included options with their Details.
627
- * @property {string[]} excluded_fields - List of all excluded options with their Details.
628
- * @property {boolean} success - Response is successful or not
629
- */
630
-
631
- /**
632
- * @typedef PaymentGatewayToBeReviewed
633
- * @property {string[]} aggregator - List of added payment gateway
634
- * @property {boolean} success - Response is successful or not
635
- */
636
-
637
- /**
638
- * @typedef PaymentInitializationRequest
639
- * @property {string} aggregator - Payment gateway name
640
- * @property {number} amount - Payable amount.
641
- * @property {string} contact - Customer valid mobile number
642
- * @property {string} currency - Currency code.
643
- * @property {string} customer_id - Payment gateway customer id.
622
+ * @typedef PaymentStatusUpdateRequest
644
623
  * @property {string} [device_id] - EDC machine Unique Identifier
645
624
  * @property {string} email - Customer valid email
646
- * @property {string} merchant_order_id - Unique fynd order id
647
- * @property {string} method - Payment method
648
- * @property {string} order_id - Payment gateway order id
649
- * @property {string} [razorpay_payment_id] - Payment gateway payment id
650
- * @property {number} [timeout] - Payment polling timeout if not recieved response
625
+ * @property {string} customer_id - Payment gateway customer id.
651
626
  * @property {string} [vpa] - Customer vpa address
652
- */
653
-
654
- /**
655
- * @typedef PaymentInitializationResponse
656
627
  * @property {string} aggregator - Payment gateway name
657
- * @property {string} [aggregator_order_id] - Payment order id
658
- * @property {number} [amount] - Payable amount.
659
- * @property {string} [bqr_image] - Bharath qr image url.
660
- * @property {string} [currency] - Currency code.
661
- * @property {string} [customer_id] - Payment gateway customer id.
662
- * @property {string} [device_id] - EDC machine Unique Identifier
663
- * @property {string} merchant_order_id - Order id
628
+ * @property {string} order_id - Payment gateway order id
629
+ * @property {string} currency - Currency code.
630
+ * @property {number} amount - Payable amount.
631
+ * @property {string} contact - Customer valid mobile number
632
+ * @property {string} merchant_order_id - Unique fynd order id
633
+ * @property {string} status - Status of payment.
664
634
  * @property {string} method - Payment method
665
- * @property {string} polling_url - Polling url.
666
- * @property {string} [razorpay_payment_id] - Payment id.
667
- * @property {string} [status] - Status of payment.
668
- * @property {boolean} success - Response is successful or not.
669
- * @property {number} [timeout] - Timeout.
670
- * @property {string} [upi_poll_url] - UPI poll url.
671
- * @property {string} [virtual_id] - Payment virtual address.
672
- * @property {string} [vpa] - Customer vpa address
635
+ * @property {string} merchant_transaction_id - Unique fynd transaction id
673
636
  */
674
637
 
675
638
  /**
676
- * @typedef PaymentMethodsMetaOrder
677
- * @property {string} merchant_code - Merchant code
678
- * @property {string} payment_gateway - Payment gateway name
679
- * @property {string} payment_identifier - Payment identifier
639
+ * @typedef PaymentStatusUpdateResponse
640
+ * @property {string} [redirect_url] - Redirect url
641
+ * @property {boolean} retry - Response is successful or not.
642
+ * @property {boolean} [success] - Response is successful or not
643
+ * @property {string} status - Payment status
644
+ * @property {string} aggregator_name - Payment gateway name
680
645
  */
681
646
 
682
647
  /**
683
- * @typedef PaymentModeCustomConfigSchema
684
- * @property {string} business_unit - The business unit to which the store belongs.
685
- * @property {PaymentCustomConfigDetailsSchema} custom_config
686
- * @property {string} display_name - The display name of the store.
648
+ * @typedef ResendOrCancelPaymentRequest
649
+ * @property {string} order_id - Unique order id
650
+ * @property {string} [device_id] - EDC machine Unique Identifier
651
+ * @property {string} request_type - Either resend or cancel
687
652
  */
688
653
 
689
654
  /**
690
- * @typedef PaymentModeList
691
- * @property {string} aggregator_name - Aggregator_name
692
- * @property {string} [card_brand] - Card_brand
693
- * @property {string} [card_brand_image] - Card_brand_image
694
- * @property {string} [card_fingerprint] - Card_fingerprint
695
- * @property {string} [card_id] - Card_id
696
- * @property {string} [card_isin] - Card_isin
697
- * @property {string} [card_issuer] - Card_issuer
698
- * @property {string} [card_name] - Card_name
699
- * @property {string} [card_number] - Card_number
700
- * @property {string} [card_reference] - Card_reference
701
- * @property {string} [card_token] - Card_token
702
- * @property {string} [card_type] - Card_type
703
- * @property {number} [cod_charges] - Cod charges to be applied on order.
704
- * @property {number} [cod_limit] - Cod limit
705
- * @property {number} [cod_limit_per_order] - Cod limit per order
706
- * @property {string} [code] - Code
707
- * @property {boolean} [compliant_with_tokenisation_guidelines] - If card is
708
- * tokenised or not
709
- * @property {string} [display_name] - Display name
710
- * @property {number} [display_priority] - Dispaly Priority
711
- * @property {number} [exp_month] - Exp_month
712
- * @property {number} [exp_year] - Exp_year
713
- * @property {boolean} [expired] - Expired
714
- * @property {string} [fynd_vpa] - Fynd_vpa
715
- * @property {IntentApp[]} [intent_app] - Intent_app
716
- * @property {IntentAppErrorList[]} [intent_app_error_dict_list] -
717
- * Intent_app_error_dict_list
718
- * @property {string[]} [intent_app_error_list] - Intent_app_error_list
719
- * @property {boolean} [intent_flow] - Intent_flow
720
- * @property {PaymentModeLogo} [logo_url]
721
- * @property {string} [merchant_code] - Merchant code
722
- * @property {string} [name] - Name
723
- * @property {string} [nickname] - Nickname
724
- * @property {ProductCODData} [product_cod_data]
725
- * @property {number} [remaining_limit] - Remaining limit
726
- * @property {number} [retry_count] - Retry_count
727
- * @property {number} [timeout] - Timeout
655
+ * @typedef LinkStatus
656
+ * @property {string} status - Link action status
657
+ * @property {string} message - Message
728
658
  */
729
659
 
730
660
  /**
731
- * @typedef PaymentModeLogo
732
- * @property {string} large - Large
733
- * @property {string} small - Smalll
661
+ * @typedef ResendOrCancelPaymentResponse
662
+ * @property {LinkStatus} data
663
+ * @property {boolean} success - Response is successful or not.
734
664
  */
735
665
 
736
666
  /**
737
- * @typedef PaymentModeRouteResponse
738
- * @property {AdvancePaymentObject[]} [advance_payment] - Advance Payment Array
739
- * @property {Object} [payment_breakup] - Payment Breakup for advance payment
740
- * @property {PaymentOptionAndFlow} payment_options
741
- * @property {boolean} success - Response is successful or not
667
+ * @typedef PaymentStatusBulkHandlerRequest
668
+ * @property {string[]} merchant_order_id - List of order ids
742
669
  */
743
670
 
744
671
  /**
745
672
  * @typedef PaymentObjectListSerializer
746
- * @property {Object} [aggregator_payment_object]
747
- * @property {string[]} all_status
748
- * @property {string} amount_in_paisa
749
- * @property {string} application_id
673
+ * @property {Object} user_object
674
+ * @property {string} modified_on
750
675
  * @property {string} collected_by
751
- * @property {string} company_id
752
676
  * @property {string} created_on
753
- * @property {string} currency
754
- * @property {string} current_status
677
+ * @property {Object} [refund_object]
755
678
  * @property {string} id
756
- * @property {string} modified_on
757
- * @property {string} payment_gateway
758
679
  * @property {string} [payment_id]
680
+ * @property {string} currency
681
+ * @property {string} current_status
682
+ * @property {Object} [aggregator_payment_object]
759
683
  * @property {string} payment_mode
760
- * @property {string} payment_mode_identifier
761
- * @property {Object} [refund_object]
762
684
  * @property {string} refunded_by
763
- * @property {Object} user_object
685
+ * @property {string} amount_in_paisa
686
+ * @property {string} payment_gateway
687
+ * @property {string} company_id
688
+ * @property {string} payment_mode_identifier
689
+ * @property {string} application_id
690
+ * @property {string[]} all_status
764
691
  */
765
692
 
766
693
  /**
767
- * @typedef PaymentOptionAndFlow
768
- * @property {PaymentFlow} payment_flows
769
- * @property {RootPaymentMode[]} payment_option - Payment options
694
+ * @typedef PaymentStatusObject
695
+ * @property {string} merchant_order_id
696
+ * @property {PaymentObjectListSerializer[]} [payment_object_list]
770
697
  */
771
698
 
772
699
  /**
773
- * @typedef PaymentOptions
774
- * @property {RootPaymentMode[]} payment_option - Payment options
700
+ * @typedef PaymentStatusBulkHandlerResponse
701
+ * @property {number} [count]
702
+ * @property {PaymentStatusObject[]} [data]
703
+ * @property {string} success
704
+ * @property {string} [error]
705
+ * @property {number} status
775
706
  */
776
707
 
777
708
  /**
778
- * @typedef PaymentOptionsResponse
779
- * @property {Object} [payment_breakup] - Payment Breakup for advance payment
780
- * @property {PaymentOptions} payment_options
709
+ * @typedef GetOauthUrlResponse
710
+ * @property {string} url - The url to call for authenticating
781
711
  * @property {boolean} success - Response is successful or not
782
712
  */
783
713
 
784
714
  /**
785
- * @typedef PaymentOrderData
786
- * @property {string} [aggregator] - Aggregator name
787
- * @property {number} [amount] - Amount
788
- * @property {string} [callback_url] - Callback url for aggregator
789
- * @property {string} [contact] - Mobile number
790
- * @property {string} [currency] - Currency
791
- * @property {string} [customer_id] - Aggregator customer id
792
- * @property {string} [email] - Email
793
- * @property {string} [merchant_order_id] - Merchant order id
794
- * @property {string} [method] - Method
795
- * @property {string} [order_id] - Aggregator order id
715
+ * @typedef RevokeOAuthToken
716
+ * @property {string} message - The confirmation message of the token revoke.
717
+ * @property {boolean} success - Response is successful or not
796
718
  */
797
719
 
798
720
  /**
799
- * @typedef PaymentOrderMethods
800
- * @property {number} amount - Amount to be collected
801
- * @property {PaymentMethodsMetaOrder} meta
802
- * @property {string} mode - Payment mode
803
- * @property {string} name - Payment mode name
804
- * @property {string} [payment] - Payment type i.e. Required / Blocked
721
+ * @typedef RepaymentRequestDetails
722
+ * @property {string} fwd_shipment_id - Purchase Shipment Id
723
+ * @property {string} aggregator - Name of Payment Gateway
724
+ * @property {string} current_status - Status
725
+ * @property {string} merchant_order_id - Merchant's Order Id
726
+ * @property {number} amount - Amount to paid back
727
+ * @property {string} payment_mode - Payment Mode
728
+ * @property {number} outstanding_details_id - Outstanding details ID
729
+ * @property {string} aggregator_transaction_id - Unique Id for the transaction
730
+ * @property {string} aggregator_order_id - Id of payment gateway
731
+ * @property {string} payment_mode_identifier - Payment Mode Id
805
732
  */
806
733
 
807
734
  /**
808
- * @typedef PaymentOrderRequest
809
- * @property {string} order_id - Order id
810
- * @property {PaymentOrderMethods[]} [payment_methods]
811
- * @property {string} [shipment_id] - Shipment_id
812
- */
735
+ * @typedef RepaymentDetailsSerialiserPayAll
736
+ * @property {number} total_amount - Total amount
737
+ * @property {string} extension_order_id - Order id created in extension
738
+ * @property {string} aggregator_transaction_id - Unique Id for the transaction
739
+ * @property {string} aggregator_order_id - Id of payment gateway
740
+ * @property {RepaymentRequestDetails[]} [shipment_details]
741
+ */
813
742
 
814
743
  /**
815
- * @typedef PaymentOrderResponse
816
- * @property {string} [callback_url] - Callback url for aggregator
817
- * @property {PaymentOrderData} [data]
818
- * @property {string} message - Message
819
- * @property {string} [order_id] - Merchant order id
820
- * @property {string} [payment_confirm_url] - Payment confirm url for aggregator
821
- * @property {number} status_code - HTTP status code
822
- * @property {boolean} success - Successful or failure
744
+ * @typedef RepaymentResponse
745
+ * @property {Object} data
746
+ * @property {boolean} success - Success/Failure of the transaction
823
747
  */
824
748
 
825
749
  /**
826
- * @typedef PaymentSessionDetail
827
- * @property {string} [aggregator_customer_id] - Unique customer id generated by
828
- * payment gateway, not required for standard checkout.
829
- * @property {string} aggregator_order_id - Unique order id or payment request
830
- * id generated by payment gateway
831
- * @property {number} amount - Amount paid.
832
- * @property {number} amount_captured - Amount which is captured or credited to
833
- * merchant account
834
- * @property {number} [amount_refunded]
835
- * @property {AddressDetail} [billing_address] - Billing address
836
- * @property {string} cancel_url - Cancel url sent by Fynd platform at the time
837
- * of payment creation
838
- * @property {boolean} [captured] - Whether the payment is captured (credited to
839
- * merchant account) by payment gateway.
840
- * @property {string} [created] - Timestamp in epoch
841
- * @property {string} currency - Currency of the payment.
842
- * @property {string} g_user_id - Global user identifier - unique user id
843
- * generated by Fynd platform
844
- * @property {string} gid - Global identifier of the entity (e.g. order, cart
845
- * etc.) against which payment_session was initiated. This is generated by
846
- * Fynd payments platform and is unique.
847
- * @property {string} [kind] - Optional kind of purchase or payment - one time
848
- * payment (sale) or subcription. defaults to sale.
849
- * @property {string} [locale] - User's locale
850
- * @property {string} [merchant_locale] - Merchant's locale
851
- * @property {Object} [meta] - Metadata
852
- * @property {string} mode - Test or live, test mode uses test credentials so
853
- * that actual payment is not created.
854
- * @property {string} payment_id - Unique transaction id generated by payment gateway
855
- * @property {Object[]} payment_methods - Method of payment
856
- * @property {AddressDetail} [shipping_address] - Shipping address
857
- * @property {string} status - Stautus of the payment
858
- * @property {string} success_url - Success url sent by Fynd platform at the
859
- * time of payment creation
750
+ * @typedef MerchantOnBoardingRequest
751
+ * @property {string} credit_line_id - Merchant ID at Ajiodhan's end
752
+ * @property {string} aggregator - Payment aggregator name
753
+ * @property {string} app_id - Application id
754
+ * @property {string} user_id - Deadlock or Grimlock user id
755
+ * @property {string} status - Status
860
756
  */
861
757
 
862
758
  /**
863
- * @typedef PaymentSessionRequestSerializer
864
- * @property {string} currency - Currency of the payment.
865
- * @property {string} gid - Global identifier of the entity (e.g. order, cart
866
- * etc.) against which payment_session was initiated. This is generated by
867
- * Fynd payments platform and is unique.
868
- * @property {Object} [meta] - Meta
869
- * @property {OrderDetail} order_details - The details of the order.
870
- * @property {PaymentSessionDetail[]} payment_details - The payment details with
871
- * the schema `PaymentSessionDetail`.
872
- * @property {string} status - Status of the payment.
873
- * @property {number} total_amount - Amount paid.
759
+ * @typedef MerchantOnBoardingResponse
760
+ * @property {Object} data
761
+ * @property {boolean} success - Success/Failure of the transaction
874
762
  */
875
763
 
876
764
  /**
877
- * @typedef PaymentSessionResponseSerializer
878
- * @property {string} currency - Currency of the payment.
879
- * @property {string} gid - Global identifier of the entity (e.g. order, cart
880
- * etc.) against which payment_session was initiated. This is generated by
881
- * Fynd payments platform and is unique.
882
- * @property {Object[]} platform_transaction_details - Platform transaction details.
883
- * @property {string} status - Status of the payment.
884
- * @property {number} total_amount - Amount paid.
765
+ * @typedef ValidateCustomerRequest
766
+ * @property {string} phone_number - User mobile number without country code.
767
+ * @property {string} aggregator - Payment gateway name in camel case i.e Simpl, Rupifi
768
+ * @property {string} [payload] - Hashed payload string.
769
+ * @property {Object} [delivery_address] - Extra meta fields.
770
+ * @property {number} transaction_amount_in_paise - Payable amount in paise
771
+ * @property {Object[]} [order_items] - Extra meta fields.
772
+ * @property {Object} [merchant_params] - Extra meta fields.
773
+ * @property {Object} [billing_address] - Extra meta fields.
885
774
  */
886
775
 
887
776
  /**
888
- * @typedef PaymentSessionSerializer
889
- * @property {CartDetailsSerializer} [cart_details]
890
- * @property {string} [currency] - The currency of the payment.
891
- * @property {string} gid - Global identifier of the entity (e.g. order, cart
892
- * etc.) against which payment_session was initiated. This is generated by
893
- * Fynd payments platform and is unique.
894
- * @property {Object} payment_details - Object of payment details
895
- * @property {RefundDetailsSerializer[]} refund_details - Object of refund details
896
- * @property {string} status - The status of the payment session.
897
- * @property {number} total_amount - Total amount to be paid
777
+ * @typedef ValidateCustomerResponse
778
+ * @property {string} message - Error or success message.
779
+ * @property {Object} data - Payment gateway response data
780
+ * @property {boolean} success - Response is successful or not
898
781
  */
899
782
 
900
783
  /**
901
- * @typedef PaymentStatusBulkHandlerRequest
902
- * @property {string[]} merchant_order_id - List of order ids
784
+ * @typedef GetPaymentLinkResponse
785
+ * @property {string} message - Message
786
+ * @property {number} status_code - HTTP status code
787
+ * @property {number} [amount] - Total value of order
788
+ * @property {string} [merchant_name] - Merchant name
789
+ * @property {string} [payment_link_url] - Url of payment link
790
+ * @property {string} [payment_link_current_status] - Status of payment link
791
+ * @property {string} [external_order_id] - Merchant order id
792
+ * @property {number} [polling_timeout] - Polling request timeout
793
+ * @property {boolean} success - Successful or failure
903
794
  */
904
795
 
905
796
  /**
906
- * @typedef PaymentStatusBulkHandlerResponse
907
- * @property {number} [count]
908
- * @property {PaymentStatusObject[]} [data]
909
- * @property {string} [error]
910
- * @property {number} status
911
- * @property {string} success
797
+ * @typedef ErrorDescription
798
+ * @property {string} [msg] - Message
799
+ * @property {string} [payment_transaction_id] - Payment transaction id
800
+ * @property {boolean} [invalid_id] - Payment link id is valid or not
801
+ * @property {string} [merchant_order_id] - Order id
802
+ * @property {string} [merchant_name] - Name of merchant that created payment link
803
+ * @property {number} [amount] - Amount paid
804
+ * @property {boolean} [expired] - Payment link expired or not
805
+ * @property {boolean} [cancelled] - Payment link is cancelled or not
912
806
  */
913
807
 
914
808
  /**
915
- * @typedef PaymentStatusObject
916
- * @property {string} merchant_order_id
917
- * @property {PaymentObjectListSerializer[]} [payment_object_list]
809
+ * @typedef ErrorResponse
810
+ * @property {number} status_code - HTTP status code
811
+ * @property {ErrorDescription} [error]
812
+ * @property {string} message - Message
813
+ * @property {boolean} success - Successful or failure
918
814
  */
919
815
 
920
816
  /**
921
- * @typedef PaymentStatusUpdateRequest
922
- * @property {string} aggregator - Payment gateway name
923
- * @property {number} amount - Payable amount.
924
- * @property {string} contact - Customer valid mobile number
925
- * @property {string} currency - Currency code.
926
- * @property {string} customer_id - Payment gateway customer id.
927
- * @property {string} [device_id] - EDC machine Unique Identifier
928
- * @property {string} email - Customer valid email
929
- * @property {string} merchant_order_id - Unique fynd order id
930
- * @property {string} merchant_transaction_id - Unique fynd transaction id
931
- * @property {string} method - Payment method
932
- * @property {string} order_id - Payment gateway order id
933
- * @property {string} status - Status of payment.
934
- * @property {string} [vpa] - Customer vpa address
817
+ * @typedef CreatePaymentLinkMeta
818
+ * @property {string} cart_id
819
+ * @property {string} checkout_mode
820
+ * @property {string} amount
821
+ * @property {string} [assign_card_id]
935
822
  */
936
823
 
937
824
  /**
938
- * @typedef PaymentStatusUpdateResponse
939
- * @property {string} aggregator_name - Payment gateway name
940
- * @property {string} [redirect_url] - Redirect url
941
- * @property {boolean} retry - Response is successful or not.
942
- * @property {string} status - Payment status
943
- * @property {boolean} [success] - Response is successful or not
825
+ * @typedef CreatePaymentLinkRequest
826
+ * @property {string} email - Email to which the payment link is to be sent
827
+ * @property {number} amount - Total value of order
828
+ * @property {string} mobile_number - Mobile number to which the payment link is
829
+ * to be sent
830
+ * @property {string} [country_phone_code] - Phone country code for complete mobile number
831
+ * @property {string} [description] - Merchant order id
832
+ * @property {CreatePaymentLinkMeta} meta
833
+ * @property {string} external_order_id - Merchant order id
944
834
  */
945
835
 
946
836
  /**
947
- * @typedef Payout
948
- * @property {PayoutCustomer} customers
949
- * @property {boolean} is_active - Enable/DIsable Flag Payout
950
- * @property {boolean} is_default - Default or not
951
- * @property {PayoutMoreAttributes} more_attributes
952
- * @property {PayoutAggregator[]} [payouts_aggregators]
953
- * @property {string} transfer_type - Transafer type
954
- * @property {string} unique_transfer_no - Display priority of the payment mode
837
+ * @typedef CreatePaymentLinkResponse
838
+ * @property {string} message - Message
839
+ * @property {number} status_code - HTTP status code
840
+ * @property {string} [payment_link_url] - Url of payment link
841
+ * @property {number} [polling_timeout] - Polling request timeout
842
+ * @property {boolean} success - Successful or failure
843
+ * @property {string} [payment_link_id] - Unique id of payment link
955
844
  */
956
845
 
957
846
  /**
958
- * @typedef PayoutAggregator
959
- * @property {number} [aggregator_fund_id] - Aggregator_fund_id
960
- * @property {number} [aggregator_id] - Aggregator_id
961
- * @property {number} [payout_details_id] - Payout_details_id
847
+ * @typedef PollingPaymentLinkResponse
848
+ * @property {string} [message] - Message
849
+ * @property {number} [http_status] - HTTP status code
850
+ * @property {number} [status_code] - HTTP status code
851
+ * @property {string} [redirect_url] - Url to redirect to
852
+ * @property {number} [amount] - Amount
853
+ * @property {string} [order_id] - Fynd order id
854
+ * @property {boolean} [success] - Successful or failure
855
+ * @property {string} [payment_link_id] - Payment link id
856
+ * @property {string} [status] - Status of payment link
857
+ * @property {string} [aggregator_name] - Aggregator name
962
858
  */
963
859
 
964
860
  /**
965
- * @typedef PayoutBankDetails
966
- * @property {string} [account_holder]
967
- * @property {string} [account_no]
968
- * @property {string} account_type
969
- * @property {string} [bank_name]
970
- * @property {string} [branch_name]
971
- * @property {string} [city]
972
- * @property {string} [country]
973
- * @property {string} ifsc_code
974
- * @property {number} [pincode]
975
- * @property {string} [state]
861
+ * @typedef CancelOrResendPaymentLinkRequest
862
+ * @property {string} payment_link_id - Unique id of payment link
976
863
  */
977
864
 
978
865
  /**
979
- * @typedef PayoutCustomer
980
- * @property {string} [email] - Customer Email
981
- * @property {number} [id] - Customer ID
982
- * @property {string} [mobile] - Customer Mobile No
983
- * @property {string} [name] - Customer Name
984
- * @property {string} [unique_external_id] - Unique_external_id
866
+ * @typedef ResendPaymentLinkResponse
867
+ * @property {number} status_code - HTTP status code
868
+ * @property {string} message - Message
869
+ * @property {number} [polling_timeout] - Polling request timeout
870
+ * @property {boolean} success - Successful or failure
985
871
  */
986
872
 
987
873
  /**
988
- * @typedef PayoutMoreAttributes
989
- * @property {string} [account_holder] - Account Holder Name
990
- * @property {string} [account_no] - Account Number
991
- * @property {string} [account_type] - Account Type Saving or Current
992
- * @property {string} [bank_name] - Name of Bank
993
- * @property {string} [branch_name] - Branch Name
994
- * @property {string} [city] - City
995
- * @property {string} [country] - Country
996
- * @property {string} [ifsc_code] - IFSC Code
997
- * @property {string} [state] - State
874
+ * @typedef CancelPaymentLinkResponse
875
+ * @property {number} status_code - HTTP status code
876
+ * @property {string} message - Message
877
+ * @property {boolean} success - Successful or failure
998
878
  */
999
879
 
1000
880
  /**
1001
- * @typedef PayoutRequest
1002
- * @property {string} aggregator - Aggregator Name
1003
- * @property {PayoutBankDetails} bank_details
1004
- * @property {boolean} is_active - Enable or Disable Flag Payout
1005
- * @property {string} transfer_type - Transafer type
1006
- * @property {string} unique_external_id - Unique Id of Payout
1007
- * @property {Object} users - Payout users object
881
+ * @typedef Code
882
+ * @property {string} name - Name of payment method
883
+ * @property {string} merchant_code - Merchant Payment Code
884
+ * @property {string} code - Payment Method Code
1008
885
  */
1009
886
 
1010
887
  /**
1011
- * @typedef PayoutResponse
1012
- * @property {string} aggregator - Aggregator Name
1013
- * @property {Object} bank_details - Payout bank_details object
1014
- * @property {boolean} created - Created flag
1015
- * @property {boolean} is_active - Enable or DIsable Flag Payout
1016
- * @property {string} payment_status - Status of payment
1017
- * @property {Object} payouts - Payout object
1018
- * @property {boolean} success - Response is successful or not
1019
- * @property {string} transfer_type - Transfer type
1020
- * @property {string} unique_transfer_no - Unique transfer no
1021
- * @property {Object} users - Users details object
888
+ * @typedef PaymentCode
889
+ * @property {string} networks - Payment networks
890
+ * @property {Code} codes
891
+ * @property {string} name - Name of payment name
892
+ * @property {string} types - Type of payment mode
1022
893
  */
1023
894
 
1024
895
  /**
1025
- * @typedef PayoutsResponse
1026
- * @property {Payout[]} items - Contains list of PayoutSchema
1027
- * @property {boolean} success - Response is successful or not
896
+ * @typedef GetPaymentCode
897
+ * @property {PaymentCode} method_code
1028
898
  */
1029
899
 
1030
900
  /**
1031
- * @typedef PlatformPaymentModeCopyConfigRequest
1032
- * @property {FromConfig} from_config
1033
- * @property {ToConfig} to_config
901
+ * @typedef GetPaymentCodeResponse
902
+ * @property {GetPaymentCode} data
903
+ * @property {boolean} success - Response is successful or not.
1034
904
  */
1035
905
 
1036
906
  /**
1037
907
  * @typedef PlatformPaymentModeResponse
1038
- * @property {Object[]} [items] - List of all aggregator and payment mode details.
1039
908
  * @property {string} [message] - Message
909
+ * @property {Object[]} [items] - List of all aggregator and payment mode details.
1040
910
  * @property {boolean} success - Response is successful or not.
1041
911
  */
1042
912
 
1043
913
  /**
1044
- * @typedef PollingPaymentLinkResponse
1045
- * @property {string} [aggregator_name] - Aggregator name
1046
- * @property {number} [amount] - Amount
1047
- * @property {number} [http_status] - HTTP status code
1048
- * @property {string} [message] - Message
1049
- * @property {string} [order_id] - Fynd order id
1050
- * @property {string} [payment_link_id] - Payment link id
1051
- * @property {string} [redirect_url] - Url to redirect to
1052
- * @property {string} [status] - Status of payment link
1053
- * @property {number} [status_code] - HTTP status code
1054
- * @property {boolean} [success] - Successful or failure
914
+ * @typedef MerchnatPaymentModeRequest
915
+ * @property {Object} [offline] - Details to be updated for online payment configuration.
916
+ * @property {Object} [online] - Details to be updated for offline payment configuration.
1055
917
  */
1056
918
 
1057
919
  /**
1058
- * @typedef ProductCODData
1059
- * @property {CODChargesLimitsResponse} [cod_charges]
1060
- * @property {Object} [items] - Item id with its cod availability.
920
+ * @typedef OrderDetail
921
+ * @property {string} gid - Global identifier of the entity (e.g. order, cart
922
+ * etc.) against which payment_session was initiated. This is generated by
923
+ * Fynd payments platform and is unique.
924
+ * @property {number} amount - Amount paid.
925
+ * @property {string} status - Order status created by payment gateway aggregator.
926
+ * @property {string} currency - Currency of the payment.
927
+ * @property {Object} aggregator_order_details - Aggregator order details
928
+ * generated by the payment gateway.
929
+ * @property {string} aggregator - Name of the payment gateway aggregator.
1061
930
  */
1062
931
 
1063
932
  /**
1064
- * @typedef RefundAccountResponse
1065
- * @property {Object} [data] - Refund account data.
1066
- * @property {boolean} [is_verified_flag]
1067
- * @property {string} message - Response message
1068
- * @property {boolean} success - Success or failure flag.
933
+ * @typedef AddressDetail
934
+ * @property {Object} [google_map_point] - Google map point of location
935
+ * @property {string} [landmark] - Landmark
936
+ * @property {string} phone - Phone number
937
+ * @property {string} country_iso_code - Country's code name e.g. `IN`, `GB`
938
+ * @property {string} area_code - Customer pin/zip code
939
+ * @property {string} country - Country name
940
+ * @property {string} [expire_at] - Address expiry timestamp
941
+ * @property {Object} [geo_location] - Location latitude and logitude
942
+ * @property {string} state - State of the customer
943
+ * @property {string} area - Area details
944
+ * @property {string} g_address_id - Unique address id generated by Fynd platform
945
+ * @property {string} area_code_slug - Area slug code, use pin or zip code if
946
+ * not available
947
+ * @property {string} country_phone_code - Country's phone code
948
+ * @property {string} name - Customer name
949
+ * @property {string} [address_type] - Address type e.g. home, office
950
+ * @property {string} address - Address details
951
+ * @property {string} [email] - Customer email
952
+ * @property {string} city - City name
953
+ * @property {Object[]} [tags] - Optional address tag
1069
954
  */
1070
955
 
1071
956
  /**
1072
- * @typedef RefundDetailsSerializer
1073
- * @property {number} amount - Refunded amount
1074
- * @property {string} created - Timestamp in epoch.
1075
- * @property {string} currency - The currency of the payment.
1076
- * @property {string} refund_utr - Unique refund utr generated by payment gateway.
1077
- * @property {string} request_id - Refund request id, unique id generated by Fynd platform
1078
- * @property {string} status - The status of the refund.
957
+ * @typedef PaymentSessionDetail
958
+ * @property {string} payment_id - Unique transaction id generated by payment gateway
959
+ * @property {string} mode - Test or live, test mode uses test credentials so
960
+ * that actual payment is not created.
961
+ * @property {number} amount - Amount paid.
962
+ * @property {string} success_url - Success url sent by Fynd platform at the
963
+ * time of payment creation
964
+ * @property {AddressDetail} [shipping_address] - Shipping address
965
+ * @property {number} amount_captured - Amount which is captured or credited to
966
+ * merchant account
967
+ * @property {number} [amount_refunded]
968
+ * @property {string} [aggregator_customer_id] - Unique customer id generated by
969
+ * payment gateway, not required for standard checkout.
970
+ * @property {string} cancel_url - Cancel url sent by Fynd platform at the time
971
+ * of payment creation
972
+ * @property {Object[]} payment_methods - Method of payment
973
+ * @property {string} [created] - Timestamp in epoch
974
+ * @property {string} g_user_id - Global user identifier - unique user id
975
+ * generated by Fynd platform
976
+ * @property {string} currency - Currency of the payment.
977
+ * @property {string} [merchant_locale] - Merchant's locale
978
+ * @property {string} [locale] - User's locale
979
+ * @property {string} aggregator_order_id - Unique order id or payment request
980
+ * id generated by payment gateway
981
+ * @property {string} gid - Global identifier of the entity (e.g. order, cart
982
+ * etc.) against which payment_session was initiated. This is generated by
983
+ * Fynd payments platform and is unique.
984
+ * @property {string} [kind] - Optional kind of purchase or payment - one time
985
+ * payment (sale) or subcription. defaults to sale.
986
+ * @property {AddressDetail} [billing_address] - Billing address
987
+ * @property {boolean} [captured] - Whether the payment is captured (credited to
988
+ * merchant account) by payment gateway.
989
+ * @property {Object} [meta] - Metadata
990
+ * @property {string} status - Stautus of the payment
1079
991
  */
1080
992
 
1081
993
  /**
1082
- * @typedef RefundPriorityRequestSerializer
1083
- * @property {boolean} apportion - Apportion refund to multiple sources
1084
- * @property {RefundSourcesPriority[]} refund_sources_priority - Refund sources priority
994
+ * @typedef PaymentSessionRequestSerializer
995
+ * @property {Object} [meta] - Meta
996
+ * @property {string} gid - Global identifier of the entity (e.g. order, cart
997
+ * etc.) against which payment_session was initiated. This is generated by
998
+ * Fynd payments platform and is unique.
999
+ * @property {OrderDetail} order_details - The details of the order.
1000
+ * @property {string} status - Status of the payment.
1001
+ * @property {string} currency - Currency of the payment.
1002
+ * @property {PaymentSessionDetail[]} payment_details - The payment details with
1003
+ * the schema `PaymentSessionDetail`.
1004
+ * @property {number} total_amount - Amount paid.
1005
+ * @property {string} checksum - Checksum to verify the payload
1085
1006
  */
1086
1007
 
1087
1008
  /**
1088
- * @typedef RefundPriorityResponseSerializer
1089
- * @property {boolean} apportion - Apportion refund to multiple sources
1090
- * @property {string} configuration - Configuration for merchant or customer
1091
- * @property {string} [message] - Message
1092
- * @property {RefundSourcesPriority[]} refund_sources_priority - Refund sources priority
1093
- * @property {boolean} success - Success
1009
+ * @typedef PaymentSessionResponseSerializer
1010
+ * @property {string} gid - Global identifier of the entity (e.g. order, cart
1011
+ * etc.) against which payment_session was initiated. This is generated by
1012
+ * Fynd payments platform and is unique.
1013
+ * @property {Object[]} platform_transaction_details - Platform transaction details.
1014
+ * @property {string} status - Status of the payment.
1015
+ * @property {string} currency - Currency of the payment.
1016
+ * @property {number} total_amount - Amount paid.
1094
1017
  */
1095
1018
 
1096
1019
  /**
1097
1020
  * @typedef RefundSessionDetail
1098
- * @property {number} amount - Amount refunded.
1099
- * @property {string} [balance_transaction] - Balance transaction.
1100
- * @property {string} created - Timestamp in epoch.
1101
- * @property {string} currency - Currency of the payment.
1102
- * @property {string} payment_id - Unique payment id generated by payment gateway.
1103
- * @property {string} [reason] - Reason for refund, optional
1104
- * @property {string} [receipt_number] - Unique receipt for refund, generated by
1105
- * payment gateway, if not available can be utr.
1106
1021
  * @property {string} [refund_utr] - Unique refund utr generated by payment gateway.
1107
1022
  * @property {string} request_id - Refund request id, unique id generated by Fynd platform
1023
+ * @property {string} payment_id - Unique payment id generated by payment gateway.
1024
+ * @property {number} amount - Amount refunded.
1025
+ * @property {string} [reason] - Reason for refund, optional
1026
+ * @property {string} status - Status of the refund.
1027
+ * @property {string} created - Timestamp in epoch.
1108
1028
  * @property {string} [source_transfer_reversal] - Description in case of
1109
1029
  * reversal of payment.
1110
- * @property {string} status - Status of the refund.
1030
+ * @property {string} [receipt_number] - Unique receipt for refund, generated by
1031
+ * payment gateway, if not available can be utr.
1032
+ * @property {string} currency - Currency of the payment.
1111
1033
  * @property {string} [transfer_reversal] - Description in case of reversal of payment.
1034
+ * @property {string} [balance_transaction] - Balance transaction.
1112
1035
  */
1113
1036
 
1114
1037
  /**
1115
1038
  * @typedef RefundSessionRequestSerializer
1116
- * @property {string} currency - The currency of the payment.
1117
- * @property {ErrorDescription} [error]
1039
+ * @property {Object} [meta] - Meta
1118
1040
  * @property {string} gid - Global identifier of the entity (e.g. order, cart
1119
1041
  * etc.) against which payment_session was initiated. This is generated by
1120
1042
  * Fynd payments platform and is unique.
1121
- * @property {string} [message] - The status of the refund.
1122
- * @property {Object} [meta] - Meta
1123
- * @property {PaymentSessionDetail} payment_details - Details of the payment
1124
- * @property {RefundSessionDetail[]} [refund_details] - Details of the refund
1125
1043
  * @property {string} status - The status of the refund.
1044
+ * @property {string} currency - The currency of the payment.
1045
+ * @property {PaymentSessionDetail} payment_details - Details of the payment
1126
1046
  * @property {number} total_amount - The total amount refunded.
1047
+ * @property {RefundSessionDetail[]} refund_details - Details of the refund
1048
+ * @property {ErrorDescription} [error]
1049
+ * @property {string} [message] - The status of the refund.
1050
+ * @property {string} checksum - Checksum to verify payload
1127
1051
  */
1128
1052
 
1129
1053
  /**
1130
1054
  * @typedef RefundSessionResponseSerializer
1131
- * @property {string} currency - The currency of the payment.
1132
1055
  * @property {string} gid - Global identifier of the entity (e.g. order, cart
1133
1056
  * etc.) against which payment_session was initiated. This is generated by
1134
1057
  * Fynd payments platform and is unique.
1135
- * @property {Object[]} platform_refund_details - Details of the refund
1136
1058
  * @property {string} status - The status of the refund.
1059
+ * @property {string} currency - The currency of the payment.
1060
+ * @property {Object[]} platform_refund_details - Details of the refund
1137
1061
  * @property {number} total_refund_amount - The total amount refunded.
1138
1062
  */
1139
1063
 
1140
1064
  /**
1141
- * @typedef RefundSourcesPriority
1142
- * @property {string} description - Description of refund source
1143
- * @property {number} priority - Priority of refund source, 0 being highest
1144
- * @property {string} source - Source of refund
1065
+ * @typedef PaymentDetailsSerializer
1066
+ * @property {Object[]} payment_methods - Method of payment
1067
+ * @property {string} gid - Global identifier of the entity (e.g. order, cart
1068
+ * etc.) against which payment_session was initiated. This is generated by
1069
+ * Fynd payments platform and is unique.
1070
+ * @property {number} [amount_refunded]
1071
+ * @property {string} currency - Currency of the payment.
1072
+ * @property {string} mode - Test or live, test mode uses test credentials so
1073
+ * that actual payment is not created.
1074
+ * @property {string} [merchant_locale] - Merchant's locale
1075
+ * @property {Object} [meta] - Metadata
1076
+ * @property {string} [kind] - Optional kind of purchase/payment - one time
1077
+ * payment (sale) or subcription. defaults to sale.
1078
+ * @property {string} [success_url] - Success url sent by Fynd platform at the
1079
+ * time of payment creation
1080
+ * @property {string} status - Stautus of the payment
1081
+ * @property {boolean} [captured] - Whether the payment is captured (credited to
1082
+ * merchant account) by payment gateway.
1083
+ * @property {string} [payment_id] - Unique transaction id generated by payment gateway
1084
+ * @property {string} g_user_id - Global user identifier - unique user id
1085
+ * generated by Fynd platform
1086
+ * @property {string} [locale] - User's locale
1087
+ * @property {string} [cancel_url] - Cancel url sent by Fynd platform at the
1088
+ * time of payment creation
1089
+ * @property {string} [created] - Timestamp in epoch
1090
+ * @property {number} amount_captured - Amount which is captured or credited to
1091
+ * merchant account
1092
+ * @property {number} amount - Amount paid.
1093
+ * @property {string} [aggregator_customer_id] - Unique customer id generated by
1094
+ * payment gateway, not required for standard checkout.
1095
+ * @property {string} [aggregator_order_id] - Unique order id or payment request
1096
+ * id generated by payment gateway
1145
1097
  */
1146
1098
 
1147
1099
  /**
1148
- * @typedef RepaymentDetailsSerialiserPayAll
1149
- * @property {string} aggregator_order_id - Id of payment gateway
1150
- * @property {string} aggregator_transaction_id - Unique Id for the transaction
1151
- * @property {string} extension_order_id - Order id created in extension
1152
- * @property {RepaymentRequestDetails[]} [shipment_details]
1153
- * @property {number} total_amount - Total amount
1100
+ * @typedef CartDetailsSerializer
1101
+ * @property {Object} items - Items that are added in cart
1102
+ * @property {Object[]} articles - List of articles that are added in cart
1103
+ * @property {number} cart_value - Total cart value i.e. amount to be paid
1104
+ * @property {number} [total_quantity] - Total number of items in cart
1154
1105
  */
1155
1106
 
1156
1107
  /**
1157
- * @typedef RepaymentRequestDetails
1158
- * @property {string} aggregator - Name of Payment Gateway
1159
- * @property {string} aggregator_order_id - Id of payment gateway
1160
- * @property {string} aggregator_transaction_id - Unique Id for the transaction
1161
- * @property {number} amount - Amount to paid back
1162
- * @property {string} current_status - Status
1163
- * @property {string} fwd_shipment_id - Purchase Shipment Id
1164
- * @property {string} merchant_order_id - Merchant's Order Id
1165
- * @property {number} outstanding_details_id - Outstanding details ID
1166
- * @property {string} payment_mode - Payment Mode
1167
- * @property {string} payment_mode_identifier - Payment Mode Id
1108
+ * @typedef RefundDetailsSerializer
1109
+ * @property {number} amount - Refunded amount
1110
+ * @property {string} currency - The currency of the payment.
1111
+ * @property {string} request_id - Refund request id, unique id generated by Fynd platform
1112
+ * @property {string} status - The status of the refund.
1113
+ * @property {string} created - Timestamp in epoch.
1114
+ * @property {string} refund_utr - Unique refund utr generated by payment gateway.
1168
1115
  */
1169
1116
 
1170
1117
  /**
1171
- * @typedef RepaymentResponse
1172
- * @property {Object} data
1173
- * @property {boolean} success - Success/Failure of the transaction
1118
+ * @typedef PaymentSessionSerializer
1119
+ * @property {Object} payment_details - Object of payment details
1120
+ * @property {string} [currency] - The currency of the payment.
1121
+ * @property {string} status - The status of the payment session.
1122
+ * @property {number} total_amount - Total amount to be paid
1123
+ * @property {string} gid - Global identifier of the entity (e.g. order, cart
1124
+ * etc.) against which payment_session was initiated. This is generated by
1125
+ * Fynd payments platform and is unique.
1126
+ * @property {CartDetailsSerializer} [cart_details]
1127
+ * @property {RefundDetailsSerializer[]} refund_details - Object of refund details
1174
1128
  */
1175
1129
 
1176
1130
  /**
1177
- * @typedef ResendOrCancelPaymentRequest
1178
- * @property {string} [device_id] - EDC machine Unique Identifier
1179
- * @property {string} order_id - Unique order id
1180
- * @property {string} request_type - Either resend or cancel
1131
+ * @typedef RefundSourcesPriority
1132
+ * @property {string} description - Description of refund source
1133
+ * @property {number} priority - Priority of refund source, 0 being highest
1134
+ * @property {string} source - Source of refund
1181
1135
  */
1182
1136
 
1183
1137
  /**
1184
- * @typedef ResendOrCancelPaymentResponse
1185
- * @property {LinkStatus} data
1186
- * @property {boolean} success - Response is successful or not.
1138
+ * @typedef RefundPriorityResponseSerializer
1139
+ * @property {string} configuration - Configuration for merchant or customer
1140
+ * @property {boolean} success - Success
1141
+ * @property {boolean} apportion - Apportion refund to multiple sources
1142
+ * @property {RefundSourcesPriority[]} refund_sources_priority - Refund sources priority
1143
+ * @property {string} [message] - Message
1187
1144
  */
1188
1145
 
1189
1146
  /**
1190
- * @typedef ResendPaymentLinkResponse
1191
- * @property {string} message - Message
1192
- * @property {number} [polling_timeout] - Polling request timeout
1193
- * @property {number} status_code - HTTP status code
1194
- * @property {boolean} success - Successful or failure
1147
+ * @typedef RefundPriorityRequestSerializer
1148
+ * @property {boolean} apportion - Apportion refund to multiple sources
1149
+ * @property {RefundSourcesPriority[]} refund_sources_priority - Refund sources priority
1195
1150
  */
1196
1151
 
1197
1152
  /**
1198
- * @typedef RevokeOAuthToken
1199
- * @property {string} message - The confirmation message of the token revoke.
1200
- * @property {boolean} success - Response is successful or not
1153
+ * @typedef MerchantPaymentModeRequest
1154
+ * @property {string} business_unit - Business unit
1155
+ * @property {Object[]} items - List of item details with respect to payment_mode
1156
+ * @property {Object} device - List of devices and its activation status
1201
1157
  */
1202
1158
 
1203
1159
  /**
1204
- * @typedef RootPaymentMode
1205
- * @property {boolean} [add_card_enabled] - Annonymous card flag
1206
- * @property {string} [aggregator_name] - Dispaly Priority
1207
- * @property {boolean} [anonymous_enable] - Annonymous card flag
1208
- * @property {string} display_name - Payment mode display name
1209
- * @property {number} display_priority - Dispaly Priority
1210
- * @property {boolean} [is_pay_by_card_pl] - This flag will be true in case of
1211
- * Payment link payment through card
1212
- * @property {PaymentModeList[]} [list] - Payment mode
1213
- * @property {string} name - Payment mode name
1214
- * @property {boolean} [save_card] - Card save or not
1160
+ * @typedef FromConfig
1161
+ * @property {string} device - Device name
1162
+ * @property {string} business_unit - Business unit name
1215
1163
  */
1216
1164
 
1217
1165
  /**
1218
- * @typedef SaveSubscriptionSetupIntentRequest
1219
- * @property {string} unique_external_id - Unique id i.e company:id
1166
+ * @typedef ToConfig
1167
+ * @property {Object[]} device - Device name to copy the config to
1168
+ * @property {string} business_unit - Business unit name
1220
1169
  */
1221
1170
 
1222
1171
  /**
1223
- * @typedef SaveSubscriptionSetupIntentResponse
1224
- * @property {Object} data - Subscription Payment Method Object
1225
- * @property {boolean} success - Response is successful or not
1172
+ * @typedef PlatformPaymentModeCopyConfigRequest
1173
+ * @property {FromConfig} from_config
1174
+ * @property {ToConfig} to_config
1226
1175
  */
1227
1176
 
1228
1177
  /**
1229
- * @typedef SetCODForUserRequest
1230
- * @property {boolean} is_active - Either true or false
1231
- * @property {string} merchant_user_id - Merchant User id
1232
- * @property {string} mobileno - Mobile No. of User
1178
+ * @typedef PaymentMethodsMetaOrder
1179
+ * @property {string} payment_identifier - Payment identifier
1180
+ * @property {string} merchant_code - Merchant code
1181
+ * @property {string} payment_gateway - Payment gateway name
1233
1182
  */
1234
1183
 
1235
1184
  /**
1236
- * @typedef SetCODOptionResponse
1237
- * @property {string} message - Message
1238
- * @property {boolean} success - Response is successful or not
1185
+ * @typedef PaymentOrderMethods
1186
+ * @property {number} amount - Amount to be collected
1187
+ * @property {string} [payment] - Payment type i.e. Required / Blocked
1188
+ * @property {string} mode - Payment mode
1189
+ * @property {PaymentMethodsMetaOrder} meta
1190
+ * @property {string} name - Payment mode name
1239
1191
  */
1240
1192
 
1241
1193
  /**
1242
- * @typedef SplitObject
1243
- * @property {number} [amount_remaining] - Amount pending to be paid
1244
- * @property {number} [splits_remaining] - Number of splits remaining
1245
- * @property {number} [total_number_of_splits] - Maximum amount of splits allowed
1194
+ * @typedef PaymentOrderRequest
1195
+ * @property {string} order_id - Order id
1196
+ * @property {PaymentOrderMethods[]} [payment_methods]
1197
+ * @property {string} [shipment_id] - Shipment_id
1246
1198
  */
1247
1199
 
1248
1200
  /**
1249
- * @typedef StatisticsData
1250
- * @property {number} active_device_count - No of active devices
1251
- * @property {number} inactive_device_count - No of inactive devices
1201
+ * @typedef PaymentOrderData
1202
+ * @property {string} [contact] - Mobile number
1203
+ * @property {string} [aggregator] - Aggregator name
1204
+ * @property {number} [amount] - Amount
1205
+ * @property {string} [customer_id] - Aggregator customer id
1206
+ * @property {string} [currency] - Currency
1207
+ * @property {string} [email] - Email
1208
+ * @property {string} [callback_url] - Callback url for aggregator
1209
+ * @property {string} [order_id] - Aggregator order id
1210
+ * @property {string} [method] - Method
1211
+ * @property {string} [merchant_order_id] - Merchant order id
1252
1212
  */
1253
1213
 
1254
1214
  /**
1255
- * @typedef SubscriptionConfigResponse
1256
- * @property {string} aggregator - Aggregator Name
1257
- * @property {Object} config - Aggregator Config
1258
- * @property {boolean} success - Response is successful or not
1215
+ * @typedef PaymentOrderResponse
1216
+ * @property {string} message - Message
1217
+ * @property {boolean} success - Successful or failure
1218
+ * @property {string} [payment_confirm_url] - Payment confirm url for aggregator
1219
+ * @property {string} [callback_url] - Callback url for aggregator
1220
+ * @property {number} status_code - HTTP status code
1221
+ * @property {string} [order_id] - Merchant order id
1222
+ * @property {PaymentOrderData} [data]
1259
1223
  */
1260
1224
 
1261
1225
  /**
1262
- * @typedef SubscriptionPaymentMethodResponse
1263
- * @property {Object[]} data - Subscription Payment Method Object
1264
- * @property {boolean} success - Response is successful or not
1226
+ * @typedef AggregatorVersionItemSchema
1227
+ * @property {string} [is_equal_to]
1228
+ * @property {string} [is_less_than]
1229
+ * @property {string} [is_greater_than]
1265
1230
  */
1266
1231
 
1267
1232
  /**
1268
- * @typedef ToConfig
1269
- * @property {string} business_unit - Business unit name
1270
- * @property {Object[]} device - Device name to copy the config to
1233
+ * @typedef AggregatorVersionResponse
1234
+ * @property {string} message - Message
1235
+ * @property {boolean} success - Successful or failure
1236
+ * @property {AggregatorVersionItemSchema} [items]
1271
1237
  */
1272
1238
 
1273
1239
  /**
1274
- * @typedef UpdatePayoutRequest
1275
- * @property {boolean} is_active - Enable or Disable Flag Payout
1276
- * @property {boolean} is_default - Enable or Disable Default Payout
1277
- * @property {string} unique_external_id - Unique Id of Payout
1240
+ * @typedef AggregatorVersionRequestSchema
1241
+ * @property {string} [is_equal_to]
1242
+ * @property {string} [is_less_than]
1243
+ * @property {string} [is_greater_than]
1278
1244
  */
1279
1245
 
1280
1246
  /**
1281
- * @typedef UpdatePayoutResponse
1282
- * @property {boolean} is_active - Enable or DIsable Flag Payout
1283
- * @property {boolean} is_default - Enable or Disable Default Payout
1284
- * @property {boolean} success - Response is successful or not
1247
+ * @typedef AggregatorControlRequest
1248
+ * @property {string} [business_unit] - Business unit
1249
+ * @property {Object[]} [items] - List of item details with respect to payment_mode
1250
+ * @property {string} [device] - Device name
1251
+ * @property {AggregatorVersionRequestSchema} [version]
1285
1252
  */
1286
1253
 
1287
1254
  /**
1288
- * @typedef ValidateCustomerRequest
1289
- * @property {string} aggregator - Payment gateway name in camel case i.e Simpl, Rupifi
1290
- * @property {Object} [billing_address] - Extra meta fields.
1291
- * @property {Object} [delivery_address] - Extra meta fields.
1292
- * @property {Object} [merchant_params] - Extra meta fields.
1293
- * @property {Object[]} [order_items] - Extra meta fields.
1294
- * @property {string} [payload] - Hashed payload string.
1295
- * @property {string} phone_number - User mobile number without country code.
1296
- * @property {number} transaction_amount_in_paise - Payable amount in paise
1255
+ * @typedef PaymentModeCustomConfigSchema
1256
+ * @property {string} display_name - The display name of the store.
1257
+ * @property {string} business_unit - The business unit to which the store belongs.
1258
+ * @property {PaymentCustomConfigDetailsSchema} custom_config
1297
1259
  */
1298
1260
 
1299
1261
  /**
1300
- * @typedef ValidateCustomerResponse
1301
- * @property {Object} data - Payment gateway response data
1302
- * @property {string} message - Error or success message.
1303
- * @property {boolean} success - Response is successful or not
1262
+ * @typedef PaymentCustomConfigDetailsSchema
1263
+ * @property {PaymentCustomConfigCustomerSchema} customer
1264
+ * @property {PaymentCustomConfigModeSchema} payment_mode
1265
+ * @property {number} min_order_value - The minimum order value for the store
1304
1266
  */
1305
1267
 
1306
- class PaymentPlatformModel {
1307
- /** @returns {AddBeneficiaryDetailsOTPRequest} */
1308
- static AddBeneficiaryDetailsOTPRequest() {
1309
- return Joi.object({
1310
- details: PaymentPlatformModel.BankDetailsForOTP().required(),
1311
- order_id: Joi.string().allow("").required(),
1312
- });
1313
- }
1314
-
1315
- /** @returns {AddressDetail} */
1316
- static AddressDetail() {
1317
- return Joi.object({
1318
- address: Joi.string().allow("").required(),
1319
- address_type: Joi.string().allow("").allow(null),
1320
- area: Joi.string().allow("").required(),
1321
- area_code: Joi.string().allow("").required(),
1322
- area_code_slug: Joi.string().allow("").required(),
1323
- city: Joi.string().allow("").required(),
1324
- country: Joi.string().allow("").required(),
1325
- country_iso_code: Joi.string().allow("").required(),
1326
- country_phone_code: Joi.string().allow("").required(),
1327
- email: Joi.string().allow(""),
1328
- expire_at: Joi.string().allow(""),
1329
- g_address_id: Joi.string().allow("").required(),
1330
- geo_location: Joi.any(),
1331
- google_map_point: Joi.any(),
1332
- landmark: Joi.string().allow(""),
1333
- name: Joi.string().allow("").required(),
1334
- phone: Joi.string().allow("").required(),
1335
- state: Joi.string().allow("").required(),
1336
- tags: Joi.array().items(Joi.any()),
1337
- });
1338
- }
1339
-
1340
- /** @returns {AdvanceObject} */
1341
- static AdvanceObject() {
1342
- return Joi.object({
1343
- all_prepayment_type: Joi.array().items(
1344
- Joi.string().allow("").allow(null)
1345
- ),
1346
- allow_custom_advance_amount: Joi.boolean().allow(null),
1347
- amount: Joi.number().allow(null),
1348
- cancellation_type: Joi.string().allow("").allow(null),
1349
- description: Joi.string().allow("").allow(null),
1350
- display_name: Joi.string().allow("").allow(null),
1351
- is_active: Joi.boolean().allow(null),
1352
- prepayment_type: Joi.string().allow("").allow(null),
1353
- prepayment_value: Joi.number().allow(null),
1354
- refund_time_limit: Joi.number().allow(null),
1355
- time_unit: Joi.string().allow("").allow(null),
1356
- });
1357
- }
1268
+ /**
1269
+ * @typedef PaymentCustomConfigCustomerSchema
1270
+ * @property {string} restriction - Customer restriction type.
1271
+ * @property {number[]} [groups] - Customer groups.
1272
+ * @property {string[]} [types] - Customer types.
1273
+ */
1358
1274
 
1359
- /** @returns {AdvancePaymentObject} */
1360
- static AdvancePaymentObject() {
1361
- return Joi.object({
1362
- advance: PaymentPlatformModel.AdvanceObject(),
1363
- display_name: Joi.string().allow("").allow(null),
1364
- display_priority: Joi.number().allow(null),
1365
- list: Joi.array().items(PaymentPlatformModel.PaymentModeList()),
1366
- name: Joi.string().allow("").allow(null),
1367
- payment_mode_id: Joi.number().allow(null),
1368
- split: PaymentPlatformModel.SplitObject(),
1369
- });
1370
- }
1275
+ /**
1276
+ * @typedef PaymentCustomConfigModeSchema
1277
+ * @property {boolean} available - Indicates whether the payment mode is available.
1278
+ * @property {string[]} [pre_order] - Payment modes available for pre-order.
1279
+ * @property {string[]} [post_order] - Payment modes available for post-order.
1280
+ */
1371
1281
 
1372
- /** @returns {AggregatorControlRequest} */
1373
- static AggregatorControlRequest() {
1374
- return Joi.object({
1375
- business_unit: Joi.string().allow(""),
1376
- device: Joi.string().allow(""),
1377
- items: Joi.array().items(Joi.any()),
1378
- version: PaymentPlatformModel.AggregatorVersionRequestSchema(),
1379
- });
1380
- }
1282
+ /**
1283
+ * @typedef PaymentCustomConfigDetailsRequestSchema
1284
+ * @property {PaymentCustomConfigCustomerRequestSchema} customer
1285
+ * @property {PaymentCustomConfigModeSchema} payment_mode
1286
+ * @property {number} min_order_value - The minimum order value for the store
1287
+ */
1381
1288
 
1382
- /** @returns {AggregatorRoute} */
1383
- static AggregatorRoute() {
1384
- return Joi.object({
1385
- api_link: Joi.string().allow("").allow(null),
1386
- data: Joi.any().allow(null),
1387
- payment_flow: Joi.string().allow("").allow(null),
1388
- payment_flow_data: Joi.string().allow("").allow(null),
1389
- });
1390
- }
1289
+ /**
1290
+ * @typedef PaymentCustomConfigCustomerRequestSchema
1291
+ * @property {string} restriction - Customer restriction type.
1292
+ * @property {number[]} [groups] - Customer groups.
1293
+ */
1391
1294
 
1392
- /** @returns {AggregatorVersionItemSchema} */
1393
- static AggregatorVersionItemSchema() {
1394
- return Joi.object({
1395
- is_equal_to: Joi.string().allow(""),
1396
- is_greater_than: Joi.string().allow(""),
1397
- is_less_than: Joi.string().allow(""),
1398
- });
1399
- }
1295
+ /**
1296
+ * @typedef PaymentCustomConfigRequestSchema
1297
+ * @property {string} business_unit - The business unit to which the store belongs.
1298
+ * @property {PaymentCustomConfigDetailsRequestSchema[]} items
1299
+ */
1400
1300
 
1401
- /** @returns {AggregatorVersionRequestSchema} */
1402
- static AggregatorVersionRequestSchema() {
1403
- return Joi.object({
1404
- is_equal_to: Joi.string().allow(""),
1405
- is_greater_than: Joi.string().allow(""),
1406
- is_less_than: Joi.string().allow(""),
1407
- });
1408
- }
1301
+ /**
1302
+ * @typedef PaymentCustomConfigResponseSchema
1303
+ * @property {boolean} success
1304
+ * @property {string} message
1305
+ * @property {PaymentModeCustomConfigSchema[]} items
1306
+ */
1409
1307
 
1410
- /** @returns {AggregatorVersionResponse} */
1411
- static AggregatorVersionResponse() {
1308
+ class PaymentPlatformModel {
1309
+ /** @returns {PaymentGatewayConfigResponse} */
1310
+ static PaymentGatewayConfigResponse() {
1412
1311
  return Joi.object({
1413
- items: PaymentPlatformModel.AggregatorVersionItemSchema(),
1414
- message: Joi.string().allow("").required(),
1312
+ aggregators: Joi.array().items(Joi.any()),
1313
+ app_id: Joi.string().allow("").required(),
1314
+ excluded_fields: Joi.array().items(Joi.string().allow("")).required(),
1415
1315
  success: Joi.boolean().required(),
1316
+ created: Joi.boolean().required(),
1317
+ display_fields: Joi.array().items(Joi.string().allow("")).required(),
1416
1318
  });
1417
1319
  }
1418
1320
 
1419
- /** @returns {BankDetailsForOTP} */
1420
- static BankDetailsForOTP() {
1421
- return Joi.object({
1422
- account_holder: Joi.string().allow("").required(),
1423
- account_no: Joi.string().allow("").required(),
1424
- bank_name: Joi.string().allow("").required(),
1425
- branch_name: Joi.string().allow("").required(),
1426
- ifsc_code: Joi.string().allow("").required(),
1427
- });
1428
- }
1429
-
1430
- /** @returns {CancelOrResendPaymentLinkRequest} */
1431
- static CancelOrResendPaymentLinkRequest() {
1432
- return Joi.object({
1433
- payment_link_id: Joi.string().allow("").required(),
1434
- });
1435
- }
1436
-
1437
- /** @returns {CancelPaymentLinkResponse} */
1438
- static CancelPaymentLinkResponse() {
1321
+ /** @returns {ErrorCodeDescription} */
1322
+ static ErrorCodeDescription() {
1439
1323
  return Joi.object({
1440
- message: Joi.string().allow("").required(),
1441
- status_code: Joi.number().required(),
1324
+ description: Joi.string().allow("").required(),
1325
+ code: Joi.string().allow("").required(),
1442
1326
  success: Joi.boolean().required(),
1443
1327
  });
1444
1328
  }
1445
1329
 
1446
- /** @returns {CartDetailsSerializer} */
1447
- static CartDetailsSerializer() {
1330
+ /** @returns {PaymentGatewayConfig} */
1331
+ static PaymentGatewayConfig() {
1448
1332
  return Joi.object({
1449
- articles: Joi.array().items(Joi.any()).required(),
1450
- cart_value: Joi.number().required(),
1451
- items: Joi.any().required(),
1452
- total_quantity: Joi.number(),
1333
+ secret: Joi.string().allow("").required(),
1334
+ config_type: Joi.string().allow("").required(),
1335
+ is_active: Joi.boolean().allow(null),
1336
+ key: Joi.string().allow("").required(),
1337
+ merchant_salt: Joi.string().allow("").required(),
1453
1338
  });
1454
1339
  }
1455
1340
 
1456
- /** @returns {CODChargesLimitsResponse} */
1457
- static CODChargesLimitsResponse() {
1341
+ /** @returns {PaymentGatewayConfigRequest} */
1342
+ static PaymentGatewayConfigRequest() {
1458
1343
  return Joi.object({
1459
- cod_charge: Joi.number().allow(null),
1460
- max_cart_value: Joi.number().allow(null),
1461
- min_cart_value: Joi.number().allow(null),
1344
+ app_id: Joi.string().allow("").required(),
1345
+ is_active: Joi.boolean().allow(null),
1346
+ aggregator_name: PaymentPlatformModel.PaymentGatewayConfig(),
1462
1347
  });
1463
1348
  }
1464
1349
 
1465
- /** @returns {CODdata} */
1466
- static CODdata() {
1350
+ /** @returns {PaymentGatewayToBeReviewed} */
1351
+ static PaymentGatewayToBeReviewed() {
1467
1352
  return Joi.object({
1468
- is_active: Joi.boolean().required(),
1469
- limit: Joi.number().required(),
1470
- remaining_limit: Joi.number().required(),
1471
- usages: Joi.number().required(),
1472
- user_id: Joi.string().allow("").required(),
1353
+ aggregator: Joi.array().items(Joi.string().allow("")).required(),
1354
+ success: Joi.boolean().required(),
1473
1355
  });
1474
1356
  }
1475
1357
 
1476
- /** @returns {Code} */
1477
- static Code() {
1358
+ /** @returns {ErrorCodeAndDescription} */
1359
+ static ErrorCodeAndDescription() {
1478
1360
  return Joi.object({
1361
+ description: Joi.string().allow("").required(),
1479
1362
  code: Joi.string().allow("").required(),
1480
- merchant_code: Joi.string().allow("").required(),
1481
- name: Joi.string().allow("").required(),
1482
1363
  });
1483
1364
  }
1484
1365
 
1485
- /** @returns {CreatePaymentLinkMeta} */
1486
- static CreatePaymentLinkMeta() {
1366
+ /** @returns {HttpErrorCodeAndResponse} */
1367
+ static HttpErrorCodeAndResponse() {
1487
1368
  return Joi.object({
1488
- amount: Joi.string().allow("").required(),
1489
- assign_card_id: Joi.string().allow("").allow(null),
1490
- cart_id: Joi.string().allow("").required(),
1491
- checkout_mode: Joi.string().allow("").required(),
1369
+ error: PaymentPlatformModel.ErrorCodeAndDescription().required(),
1370
+ success: Joi.boolean().required(),
1492
1371
  });
1493
1372
  }
1494
1373
 
1495
- /** @returns {CreatePaymentLinkRequest} */
1496
- static CreatePaymentLinkRequest() {
1374
+ /** @returns {IntentAppErrorList} */
1375
+ static IntentAppErrorList() {
1497
1376
  return Joi.object({
1498
- amount: Joi.number().required(),
1499
- country_phone_code: Joi.string().allow(""),
1500
- description: Joi.string().allow("").allow(null),
1501
- email: Joi.string().allow("").required(),
1502
- external_order_id: Joi.string().allow("").required(),
1503
- meta: PaymentPlatformModel.CreatePaymentLinkMeta().required(),
1504
- mobile_number: Joi.string().allow("").required(),
1377
+ package_name: Joi.string().allow("").allow(null),
1378
+ code: Joi.string().allow("").allow(null),
1505
1379
  });
1506
1380
  }
1507
1381
 
1508
- /** @returns {CreatePaymentLinkResponse} */
1509
- static CreatePaymentLinkResponse() {
1382
+ /** @returns {ProductCODData} */
1383
+ static ProductCODData() {
1510
1384
  return Joi.object({
1511
- message: Joi.string().allow("").required(),
1512
- payment_link_id: Joi.string().allow("").allow(null),
1513
- payment_link_url: Joi.string().allow("").allow(null),
1514
- polling_timeout: Joi.number().allow(null),
1515
- status_code: Joi.number().required(),
1516
- success: Joi.boolean().required(),
1385
+ items: Joi.any().allow(null),
1386
+ cod_charges: PaymentPlatformModel.CODChargesLimitsResponse(),
1517
1387
  });
1518
1388
  }
1519
1389
 
1520
- /** @returns {DeletePayoutResponse} */
1521
- static DeletePayoutResponse() {
1390
+ /** @returns {CODChargesLimitsResponse} */
1391
+ static CODChargesLimitsResponse() {
1522
1392
  return Joi.object({
1523
- success: Joi.boolean().required(),
1393
+ max_cart_value: Joi.number().allow(null),
1394
+ min_cart_value: Joi.number().allow(null),
1395
+ cod_charge: Joi.number().allow(null),
1524
1396
  });
1525
1397
  }
1526
1398
 
1527
- /** @returns {DeleteSubscriptionPaymentMethodResponse} */
1528
- static DeleteSubscriptionPaymentMethodResponse() {
1399
+ /** @returns {PaymentModeLogo} */
1400
+ static PaymentModeLogo() {
1529
1401
  return Joi.object({
1530
- success: Joi.boolean().required(),
1402
+ large: Joi.string().allow("").required(),
1403
+ small: Joi.string().allow("").required(),
1531
1404
  });
1532
1405
  }
1533
1406
 
1534
- /** @returns {EdcAddRequest} */
1535
- static EdcAddRequest() {
1407
+ /** @returns {IntentApp} */
1408
+ static IntentApp() {
1536
1409
  return Joi.object({
1537
- aggregator_id: Joi.number().required(),
1538
- device_tag: Joi.string().allow("").allow(null),
1539
- edc_device_serial_no: Joi.string().allow("").required(),
1540
- edc_model: Joi.string().allow("").required(),
1541
- store_id: Joi.number().required(),
1542
- terminal_serial_no: Joi.string().allow("").required(),
1410
+ package_name: Joi.string().allow("").allow(null),
1411
+ display_name: Joi.string().allow("").allow(null),
1412
+ code: Joi.string().allow("").allow(null),
1413
+ logos: PaymentPlatformModel.PaymentModeLogo(),
1543
1414
  });
1544
1415
  }
1545
1416
 
1546
- /** @returns {EdcAggregatorAndModelListResponse} */
1547
- static EdcAggregatorAndModelListResponse() {
1417
+ /** @returns {PaymentModeList} */
1418
+ static PaymentModeList() {
1548
1419
  return Joi.object({
1549
- data: Joi.array().items(PaymentPlatformModel.EdcModelData()).required(),
1550
- success: Joi.boolean().required(),
1420
+ remaining_limit: Joi.number().allow(null),
1421
+ card_brand: Joi.string().allow("").allow(null),
1422
+ card_fingerprint: Joi.string().allow("").allow(null),
1423
+ merchant_code: Joi.string().allow("").allow(null),
1424
+ intent_flow: Joi.boolean().allow(null),
1425
+ code: Joi.string().allow("").allow(null),
1426
+ card_issuer: Joi.string().allow("").allow(null),
1427
+ cod_limit_per_order: Joi.number().allow(null),
1428
+ card_reference: Joi.string().allow("").allow(null),
1429
+ card_type: Joi.string().allow("").allow(null),
1430
+ card_isin: Joi.string().allow("").allow(null),
1431
+ exp_month: Joi.number().allow(null),
1432
+ fynd_vpa: Joi.string().allow("").allow(null),
1433
+ card_number: Joi.string().allow("").allow(null),
1434
+ display_priority: Joi.number().allow(null),
1435
+ display_name: Joi.string().allow("").allow(null),
1436
+ card_id: Joi.string().allow("").allow(null),
1437
+ retry_count: Joi.number().allow(null),
1438
+ card_name: Joi.string().allow("").allow(null),
1439
+ timeout: Joi.number().allow(null),
1440
+ intent_app_error_dict_list: Joi.array().items(
1441
+ PaymentPlatformModel.IntentAppErrorList()
1442
+ ),
1443
+ card_brand_image: Joi.string().allow("").allow(null),
1444
+ expired: Joi.boolean().allow(null),
1445
+ logo_url: PaymentPlatformModel.PaymentModeLogo(),
1446
+ card_token: Joi.string().allow("").allow(null),
1447
+ aggregator_name: Joi.string().allow("").required(),
1448
+ cod_charges: Joi.number().allow(null),
1449
+ product_cod_data: PaymentPlatformModel.ProductCODData(),
1450
+ cod_limit: Joi.number().allow(null),
1451
+ intent_app: Joi.array().items(PaymentPlatformModel.IntentApp()),
1452
+ nickname: Joi.string().allow("").allow(null),
1453
+ compliant_with_tokenisation_guidelines: Joi.boolean().allow(null),
1454
+ exp_year: Joi.number().allow(null),
1455
+ name: Joi.string().allow("").allow(null),
1456
+ intent_app_error_list: Joi.array().items(Joi.string().allow("")),
1551
1457
  });
1552
1458
  }
1553
1459
 
1554
- /** @returns {EdcDevice} */
1555
- static EdcDevice() {
1460
+ /** @returns {RootPaymentMode} */
1461
+ static RootPaymentMode() {
1556
1462
  return Joi.object({
1557
- aggregator_id: Joi.number().required(),
1558
- aggregator_name: Joi.string().allow(""),
1559
- application_id: Joi.string().allow("").required(),
1560
- device_tag: Joi.string().allow("").required(),
1561
- edc_device_serial_no: Joi.string().allow("").required(),
1562
- edc_model: Joi.string().allow(""),
1563
- is_active: Joi.boolean().required(),
1564
- merchant_store_pos_code: Joi.string().allow("").allow(null),
1565
- store_id: Joi.number().required(),
1566
- terminal_serial_no: Joi.string().allow("").required(),
1567
- terminal_unique_identifier: Joi.string().allow("").required(),
1463
+ list: Joi.array().items(PaymentPlatformModel.PaymentModeList()),
1464
+ display_priority: Joi.number().required(),
1465
+ add_card_enabled: Joi.boolean().allow(null),
1466
+ save_card: Joi.boolean().allow(null),
1467
+ is_pay_by_card_pl: Joi.boolean().allow(null),
1468
+ display_name: Joi.string().allow("").required(),
1469
+ anonymous_enable: Joi.boolean().allow(null),
1470
+ name: Joi.string().allow("").required(),
1471
+ aggregator_name: Joi.string().allow("").allow(null),
1568
1472
  });
1569
1473
  }
1570
1474
 
1571
- /** @returns {EdcDeviceAddResponse} */
1572
- static EdcDeviceAddResponse() {
1475
+ /** @returns {PaymentOptions} */
1476
+ static PaymentOptions() {
1573
1477
  return Joi.object({
1574
- data: PaymentPlatformModel.EdcDevice().required(),
1575
- success: Joi.boolean().required(),
1478
+ payment_option: Joi.array()
1479
+ .items(PaymentPlatformModel.RootPaymentMode())
1480
+ .required(),
1576
1481
  });
1577
1482
  }
1578
1483
 
1579
- /** @returns {EdcDeviceDetailsResponse} */
1580
- static EdcDeviceDetailsResponse() {
1484
+ /** @returns {AggregatorRoute} */
1485
+ static AggregatorRoute() {
1581
1486
  return Joi.object({
1582
- data: PaymentPlatformModel.EdcDevice().required(),
1583
- success: Joi.boolean().required(),
1487
+ data: Joi.any().allow(null),
1488
+ payment_flow_data: Joi.string().allow("").allow(null),
1489
+ payment_flow: Joi.string().allow("").allow(null),
1490
+ api_link: Joi.string().allow("").allow(null),
1584
1491
  });
1585
1492
  }
1586
1493
 
1587
- /** @returns {EdcDeviceListResponse} */
1588
- static EdcDeviceListResponse() {
1494
+ /** @returns {PaymentFlow} */
1495
+ static PaymentFlow() {
1589
1496
  return Joi.object({
1590
- items: Joi.array().items(PaymentPlatformModel.EdcDevice()).required(),
1591
- page: PaymentPlatformModel.Page().required(),
1592
- success: Joi.boolean().required(),
1497
+ bqr_razorpay: PaymentPlatformModel.AggregatorRoute(),
1498
+ fynd: PaymentPlatformModel.AggregatorRoute(),
1499
+ epaylater: PaymentPlatformModel.AggregatorRoute(),
1500
+ razorpay: PaymentPlatformModel.AggregatorRoute(),
1501
+ juspay: PaymentPlatformModel.AggregatorRoute(),
1502
+ ajiodhan: PaymentPlatformModel.AggregatorRoute(),
1503
+ simpl: PaymentPlatformModel.AggregatorRoute(),
1504
+ rupifi: PaymentPlatformModel.AggregatorRoute(),
1505
+ mswipe: PaymentPlatformModel.AggregatorRoute(),
1506
+ stripe: PaymentPlatformModel.AggregatorRoute(),
1507
+ ccavenue: PaymentPlatformModel.AggregatorRoute(),
1508
+ payubiz: PaymentPlatformModel.AggregatorRoute(),
1509
+ jiopay: PaymentPlatformModel.AggregatorRoute(),
1593
1510
  });
1594
1511
  }
1595
1512
 
1596
- /** @returns {EdcDeviceStatsResponse} */
1597
- static EdcDeviceStatsResponse() {
1513
+ /** @returns {PaymentOptionAndFlow} */
1514
+ static PaymentOptionAndFlow() {
1598
1515
  return Joi.object({
1599
- statistics: PaymentPlatformModel.StatisticsData().required(),
1600
- success: Joi.boolean().required(),
1516
+ payment_option: Joi.array()
1517
+ .items(PaymentPlatformModel.RootPaymentMode())
1518
+ .required(),
1519
+ payment_flows: PaymentPlatformModel.PaymentFlow().required(),
1601
1520
  });
1602
1521
  }
1603
1522
 
1604
- /** @returns {EdcDeviceUpdateResponse} */
1605
- static EdcDeviceUpdateResponse() {
1523
+ /** @returns {AdvanceObject} */
1524
+ static AdvanceObject() {
1606
1525
  return Joi.object({
1607
- success: Joi.boolean().required(),
1526
+ is_active: Joi.boolean().allow(null),
1527
+ amount: Joi.number().allow(null),
1528
+ time_unit: Joi.string().allow("").allow(null),
1529
+ description: Joi.string().allow("").allow(null),
1530
+ display_name: Joi.string().allow("").allow(null),
1531
+ prepayment_type: Joi.string().allow("").allow(null),
1532
+ prepayment_value: Joi.number().allow(null),
1533
+ cancellation_type: Joi.string().allow("").allow(null),
1534
+ refund_time_limit: Joi.number().allow(null),
1535
+ all_prepayment_type: Joi.array().items(
1536
+ Joi.string().allow("").allow(null)
1537
+ ),
1538
+ allow_custom_advance_amount: Joi.boolean().allow(null),
1539
+ });
1540
+ }
1541
+
1542
+ /** @returns {SplitObject} */
1543
+ static SplitObject() {
1544
+ return Joi.object({
1545
+ total_number_of_splits: Joi.number().allow(null),
1546
+ splits_remaining: Joi.number().allow(null),
1547
+ amount_remaining: Joi.number().allow(null),
1608
1548
  });
1609
1549
  }
1610
1550
 
1611
- /** @returns {EdcModelData} */
1612
- static EdcModelData() {
1551
+ /** @returns {AdvancePaymentObject} */
1552
+ static AdvancePaymentObject() {
1613
1553
  return Joi.object({
1614
- aggregator: Joi.string().allow("").required(),
1615
- aggregator_id: Joi.number().required(),
1616
- models: Joi.array().items(Joi.string().allow("")).required(),
1554
+ name: Joi.string().allow("").allow(null),
1555
+ display_priority: Joi.number().allow(null),
1556
+ payment_mode_id: Joi.number().allow(null),
1557
+ display_name: Joi.string().allow("").allow(null),
1558
+ list: Joi.array().items(PaymentPlatformModel.PaymentModeList()),
1559
+ split: PaymentPlatformModel.SplitObject(),
1560
+ advance: PaymentPlatformModel.AdvanceObject(),
1617
1561
  });
1618
1562
  }
1619
1563
 
1620
- /** @returns {EdcUpdateRequest} */
1621
- static EdcUpdateRequest() {
1564
+ /** @returns {PaymentModeRouteResponse} */
1565
+ static PaymentModeRouteResponse() {
1622
1566
  return Joi.object({
1623
- aggregator_id: Joi.number(),
1624
- device_tag: Joi.string().allow("").allow(null),
1625
- edc_device_serial_no: Joi.string().allow(""),
1626
- edc_model: Joi.string().allow(""),
1627
- is_active: Joi.boolean(),
1628
- merchant_store_pos_code: Joi.string().allow(""),
1629
- store_id: Joi.number(),
1567
+ payment_options: PaymentPlatformModel.PaymentOptionAndFlow().required(),
1568
+ success: Joi.boolean().required(),
1569
+ payment_breakup: Joi.any(),
1570
+ advance_payment: Joi.array().items(
1571
+ PaymentPlatformModel.AdvancePaymentObject()
1572
+ ),
1630
1573
  });
1631
1574
  }
1632
1575
 
1633
- /** @returns {ErrorCodeAndDescription} */
1634
- static ErrorCodeAndDescription() {
1576
+ /** @returns {PaymentOptionsResponse} */
1577
+ static PaymentOptionsResponse() {
1635
1578
  return Joi.object({
1636
- code: Joi.string().allow("").required(),
1637
- description: Joi.string().allow("").required(),
1579
+ payment_options: PaymentPlatformModel.PaymentOptions().required(),
1580
+ success: Joi.boolean().required(),
1581
+ payment_breakup: Joi.any(),
1638
1582
  });
1639
1583
  }
1640
1584
 
1641
- /** @returns {ErrorCodeDescription} */
1642
- static ErrorCodeDescription() {
1585
+ /** @returns {PayoutCustomer} */
1586
+ static PayoutCustomer() {
1643
1587
  return Joi.object({
1644
- code: Joi.string().allow("").required(),
1645
- description: Joi.string().allow("").required(),
1646
- success: Joi.boolean().required(),
1588
+ unique_external_id: Joi.string().allow("").allow(null),
1589
+ mobile: Joi.string().allow("").allow(null),
1590
+ name: Joi.string().allow("").allow(null),
1591
+ email: Joi.string().allow("").allow(null),
1592
+ id: Joi.number().allow(null),
1647
1593
  });
1648
1594
  }
1649
1595
 
1650
- /** @returns {ErrorDescription} */
1651
- static ErrorDescription() {
1596
+ /** @returns {PayoutMoreAttributes} */
1597
+ static PayoutMoreAttributes() {
1652
1598
  return Joi.object({
1653
- amount: Joi.number().allow(null),
1654
- cancelled: Joi.boolean().allow(null),
1655
- expired: Joi.boolean().allow(null),
1656
- invalid_id: Joi.boolean().allow(null),
1657
- merchant_name: Joi.string().allow("").allow(null),
1658
- merchant_order_id: Joi.string().allow("").allow(null),
1659
- msg: Joi.string().allow("").allow(null),
1660
- payment_transaction_id: Joi.string().allow("").allow(null),
1599
+ branch_name: Joi.string().allow("").allow(null),
1600
+ city: Joi.string().allow("").allow(null),
1601
+ account_no: Joi.string().allow("").allow(null),
1602
+ country: Joi.string().allow("").allow(null),
1603
+ state: Joi.string().allow("").allow(null),
1604
+ account_holder: Joi.string().allow("").allow(null),
1605
+ ifsc_code: Joi.string().allow("").allow(null),
1606
+ account_type: Joi.string().allow("").allow(null),
1607
+ bank_name: Joi.string().allow("").allow(null),
1661
1608
  });
1662
1609
  }
1663
1610
 
1664
- /** @returns {ErrorResponse} */
1665
- static ErrorResponse() {
1611
+ /** @returns {PayoutAggregator} */
1612
+ static PayoutAggregator() {
1666
1613
  return Joi.object({
1667
- error: PaymentPlatformModel.ErrorDescription(),
1668
- message: Joi.string().allow("").required(),
1669
- status_code: Joi.number().required(),
1670
- success: Joi.boolean().required(),
1614
+ aggregator_id: Joi.number().allow(null),
1615
+ aggregator_fund_id: Joi.number().allow(null),
1616
+ payout_details_id: Joi.number().allow(null),
1671
1617
  });
1672
1618
  }
1673
1619
 
1674
- /** @returns {FromConfig} */
1675
- static FromConfig() {
1620
+ /** @returns {Payout} */
1621
+ static Payout() {
1676
1622
  return Joi.object({
1677
- business_unit: Joi.string().allow("").required(),
1678
- device: Joi.string().allow("").required(),
1623
+ customers: PaymentPlatformModel.PayoutCustomer().required(),
1624
+ more_attributes: PaymentPlatformModel.PayoutMoreAttributes().required(),
1625
+ is_default: Joi.boolean().required(),
1626
+ payouts_aggregators: Joi.array().items(
1627
+ PaymentPlatformModel.PayoutAggregator()
1628
+ ),
1629
+ unique_transfer_no: Joi.string().allow("").required(),
1630
+ is_active: Joi.boolean().required(),
1631
+ transfer_type: Joi.string().allow("").required(),
1679
1632
  });
1680
1633
  }
1681
1634
 
1682
- /** @returns {GetOauthUrlResponse} */
1683
- static GetOauthUrlResponse() {
1635
+ /** @returns {PayoutsResponse} */
1636
+ static PayoutsResponse() {
1684
1637
  return Joi.object({
1685
1638
  success: Joi.boolean().required(),
1686
- url: Joi.string().allow("").required(),
1639
+ items: Joi.array().items(PaymentPlatformModel.Payout()).required(),
1687
1640
  });
1688
1641
  }
1689
1642
 
1690
- /** @returns {GetPaymentCode} */
1691
- static GetPaymentCode() {
1643
+ /** @returns {PayoutBankDetails} */
1644
+ static PayoutBankDetails() {
1692
1645
  return Joi.object({
1693
- method_code: PaymentPlatformModel.PaymentCode().required(),
1646
+ ifsc_code: Joi.string().allow("").required(),
1647
+ account_holder: Joi.string().allow(""),
1648
+ state: Joi.string().allow(""),
1649
+ country: Joi.string().allow(""),
1650
+ account_type: Joi.string().allow("").required(),
1651
+ account_no: Joi.string().allow(""),
1652
+ city: Joi.string().allow(""),
1653
+ bank_name: Joi.string().allow(""),
1654
+ branch_name: Joi.string().allow(""),
1655
+ pincode: Joi.number(),
1694
1656
  });
1695
1657
  }
1696
1658
 
1697
- /** @returns {GetPaymentCodeResponse} */
1698
- static GetPaymentCodeResponse() {
1659
+ /** @returns {PayoutRequest} */
1660
+ static PayoutRequest() {
1699
1661
  return Joi.object({
1700
- data: PaymentPlatformModel.GetPaymentCode().required(),
1701
- success: Joi.boolean().required(),
1662
+ aggregator: Joi.string().allow("").required(),
1663
+ users: Joi.any().required(),
1664
+ unique_external_id: Joi.string().allow("").required(),
1665
+ is_active: Joi.boolean().required(),
1666
+ bank_details: PaymentPlatformModel.PayoutBankDetails().required(),
1667
+ transfer_type: Joi.string().allow("").required(),
1702
1668
  });
1703
1669
  }
1704
1670
 
1705
- /** @returns {GetPaymentLinkResponse} */
1706
- static GetPaymentLinkResponse() {
1671
+ /** @returns {PayoutResponse} */
1672
+ static PayoutResponse() {
1707
1673
  return Joi.object({
1708
- amount: Joi.number().allow(null),
1709
- external_order_id: Joi.string().allow("").allow(null),
1710
- merchant_name: Joi.string().allow("").allow(null),
1711
- message: Joi.string().allow("").required(),
1712
- payment_link_current_status: Joi.string().allow("").allow(null),
1713
- payment_link_url: Joi.string().allow("").allow(null),
1714
- polling_timeout: Joi.number().allow(null),
1715
- status_code: Joi.number().required(),
1674
+ payment_status: Joi.string().allow("").required(),
1675
+ users: Joi.any().required(),
1676
+ aggregator: Joi.string().allow("").required(),
1677
+ unique_transfer_no: Joi.string().allow("").required(),
1678
+ is_active: Joi.boolean().required(),
1679
+ bank_details: Joi.any().required(),
1716
1680
  success: Joi.boolean().required(),
1681
+ transfer_type: Joi.string().allow("").required(),
1682
+ created: Joi.boolean().required(),
1683
+ payouts: Joi.any().required(),
1717
1684
  });
1718
1685
  }
1719
1686
 
1720
- /** @returns {GetUserCODLimitResponse} */
1721
- static GetUserCODLimitResponse() {
1687
+ /** @returns {UpdatePayoutResponse} */
1688
+ static UpdatePayoutResponse() {
1722
1689
  return Joi.object({
1690
+ is_default: Joi.boolean().required(),
1691
+ is_active: Joi.boolean().required(),
1723
1692
  success: Joi.boolean().required(),
1724
- user_cod_data: PaymentPlatformModel.CODdata().required(),
1725
1693
  });
1726
1694
  }
1727
1695
 
1728
- /** @returns {HttpErrorCodeAndResponse} */
1729
- static HttpErrorCodeAndResponse() {
1696
+ /** @returns {UpdatePayoutRequest} */
1697
+ static UpdatePayoutRequest() {
1730
1698
  return Joi.object({
1731
- error: PaymentPlatformModel.ErrorCodeAndDescription().required(),
1732
- success: Joi.boolean().required(),
1699
+ is_default: Joi.boolean().required(),
1700
+ is_active: Joi.boolean().required(),
1701
+ unique_external_id: Joi.string().allow("").required(),
1733
1702
  });
1734
1703
  }
1735
1704
 
1736
- /** @returns {IfscCodeResponse} */
1737
- static IfscCodeResponse() {
1705
+ /** @returns {DeletePayoutResponse} */
1706
+ static DeletePayoutResponse() {
1738
1707
  return Joi.object({
1739
- bank_name: Joi.string().allow("").required(),
1740
- branch_name: Joi.string().allow("").required(),
1741
- success: Joi.boolean(),
1708
+ success: Joi.boolean().required(),
1742
1709
  });
1743
1710
  }
1744
1711
 
1745
- /** @returns {IntentApp} */
1746
- static IntentApp() {
1712
+ /** @returns {SubscriptionPaymentMethodResponse} */
1713
+ static SubscriptionPaymentMethodResponse() {
1747
1714
  return Joi.object({
1748
- code: Joi.string().allow("").allow(null),
1749
- display_name: Joi.string().allow("").allow(null),
1750
- logos: PaymentPlatformModel.PaymentModeLogo(),
1751
- package_name: Joi.string().allow("").allow(null),
1715
+ data: Joi.array().items(Joi.any()).required(),
1716
+ success: Joi.boolean().required(),
1752
1717
  });
1753
1718
  }
1754
1719
 
1755
- /** @returns {IntentAppErrorList} */
1756
- static IntentAppErrorList() {
1720
+ /** @returns {DeleteSubscriptionPaymentMethodResponse} */
1721
+ static DeleteSubscriptionPaymentMethodResponse() {
1757
1722
  return Joi.object({
1758
- code: Joi.string().allow("").allow(null),
1759
- package_name: Joi.string().allow("").allow(null),
1723
+ success: Joi.boolean().required(),
1760
1724
  });
1761
1725
  }
1762
1726
 
1763
- /** @returns {LinkStatus} */
1764
- static LinkStatus() {
1727
+ /** @returns {SubscriptionConfigResponse} */
1728
+ static SubscriptionConfigResponse() {
1765
1729
  return Joi.object({
1766
- message: Joi.string().allow("").required(),
1767
- status: Joi.string().allow("").required(),
1730
+ aggregator: Joi.string().allow("").required(),
1731
+ config: Joi.any().required(),
1732
+ success: Joi.boolean().required(),
1768
1733
  });
1769
1734
  }
1770
1735
 
1771
- /** @returns {MerchantOnBoardingRequest} */
1772
- static MerchantOnBoardingRequest() {
1736
+ /** @returns {SaveSubscriptionSetupIntentRequest} */
1737
+ static SaveSubscriptionSetupIntentRequest() {
1773
1738
  return Joi.object({
1774
- aggregator: Joi.string().allow("").required(),
1775
- app_id: Joi.string().allow("").required(),
1776
- credit_line_id: Joi.string().allow("").required(),
1777
- status: Joi.string().allow("").required(),
1778
- user_id: Joi.string().allow("").required(),
1739
+ unique_external_id: Joi.string().allow("").required(),
1779
1740
  });
1780
1741
  }
1781
1742
 
1782
- /** @returns {MerchantOnBoardingResponse} */
1783
- static MerchantOnBoardingResponse() {
1743
+ /** @returns {SaveSubscriptionSetupIntentResponse} */
1744
+ static SaveSubscriptionSetupIntentResponse() {
1784
1745
  return Joi.object({
1785
1746
  data: Joi.any().required(),
1786
1747
  success: Joi.boolean().required(),
1787
1748
  });
1788
1749
  }
1789
1750
 
1790
- /** @returns {MerchantPaymentModeRequest} */
1791
- static MerchantPaymentModeRequest() {
1751
+ /** @returns {RefundAccountResponse} */
1752
+ static RefundAccountResponse() {
1792
1753
  return Joi.object({
1793
- business_unit: Joi.string().allow("").required(),
1794
- device: Joi.any().required(),
1795
- items: Joi.array().items(Joi.any()).required(),
1754
+ is_verified_flag: Joi.boolean(),
1755
+ message: Joi.string().allow("").required(),
1756
+ data: Joi.any(),
1757
+ success: Joi.boolean().required(),
1796
1758
  });
1797
1759
  }
1798
1760
 
1799
- /** @returns {MerchnatPaymentModeRequest} */
1800
- static MerchnatPaymentModeRequest() {
1761
+ /** @returns {NotFoundResourceError} */
1762
+ static NotFoundResourceError() {
1801
1763
  return Joi.object({
1802
- offline: Joi.any().allow(null),
1803
- online: Joi.any().allow(null),
1764
+ description: Joi.string().allow("").required(),
1765
+ code: Joi.string().allow("").required(),
1766
+ success: Joi.boolean().required(),
1804
1767
  });
1805
1768
  }
1806
1769
 
1807
- /** @returns {MultiTenderPaymentMeta} */
1808
- static MultiTenderPaymentMeta() {
1770
+ /** @returns {BankDetailsForOTP} */
1771
+ static BankDetailsForOTP() {
1809
1772
  return Joi.object({
1810
- current_status: Joi.string().allow(""),
1811
- extra_meta: Joi.any().allow(null),
1812
- order_id: Joi.string().allow(""),
1813
- payment_gateway: Joi.string().allow(""),
1814
- payment_id: Joi.string().allow(""),
1773
+ ifsc_code: Joi.string().allow("").required(),
1774
+ account_no: Joi.string().allow("").required(),
1775
+ branch_name: Joi.string().allow("").required(),
1776
+ bank_name: Joi.string().allow("").required(),
1777
+ account_holder: Joi.string().allow("").required(),
1815
1778
  });
1816
1779
  }
1817
1780
 
1818
- /** @returns {MultiTenderPaymentMethod} */
1819
- static MultiTenderPaymentMethod() {
1781
+ /** @returns {AddBeneficiaryDetailsOTPRequest} */
1782
+ static AddBeneficiaryDetailsOTPRequest() {
1820
1783
  return Joi.object({
1821
- amount: Joi.number().required(),
1822
- meta: PaymentPlatformModel.MultiTenderPaymentMeta(),
1823
- mode: Joi.string().allow("").required(),
1824
- name: Joi.string().allow(""),
1784
+ order_id: Joi.string().allow("").required(),
1785
+ details: PaymentPlatformModel.BankDetailsForOTP().required(),
1825
1786
  });
1826
1787
  }
1827
1788
 
1828
- /** @returns {NotFoundResourceError} */
1829
- static NotFoundResourceError() {
1789
+ /** @returns {IfscCodeResponse} */
1790
+ static IfscCodeResponse() {
1830
1791
  return Joi.object({
1831
- code: Joi.string().allow("").required(),
1832
- description: Joi.string().allow("").required(),
1833
- success: Joi.boolean().required(),
1792
+ branch_name: Joi.string().allow("").required(),
1793
+ success: Joi.boolean(),
1794
+ bank_name: Joi.string().allow("").required(),
1834
1795
  });
1835
1796
  }
1836
1797
 
1837
1798
  /** @returns {OrderBeneficiaryDetails} */
1838
1799
  static OrderBeneficiaryDetails() {
1839
1800
  return Joi.object({
1801
+ subtitle: Joi.string().allow("").required(),
1802
+ id: Joi.number().required(),
1803
+ title: Joi.string().allow("").required(),
1840
1804
  account_holder: Joi.string().allow("").required(),
1841
- account_no: Joi.string().allow("").required(),
1842
- address: Joi.string().allow("").required(),
1843
- bank_name: Joi.string().allow("").required(),
1844
- beneficiary_id: Joi.string().allow("").required(),
1845
- branch_name: Joi.string().allow(""),
1805
+ ifsc_code: Joi.string().allow("").required(),
1846
1806
  comment: Joi.string().allow(""),
1847
1807
  created_on: Joi.string().allow("").required(),
1848
- delights_user_name: Joi.string().allow("").allow(null),
1849
1808
  display_name: Joi.string().allow("").required(),
1809
+ delights_user_name: Joi.string().allow("").allow(null),
1810
+ transfer_mode: Joi.string().allow("").required(),
1850
1811
  email: Joi.string().allow("").required(),
1851
- id: Joi.number().required(),
1852
- ifsc_code: Joi.string().allow("").required(),
1853
1812
  is_active: Joi.boolean().required(),
1854
- mobile: Joi.string().allow(""),
1813
+ branch_name: Joi.string().allow(""),
1814
+ address: Joi.string().allow("").required(),
1855
1815
  modified_on: Joi.string().allow("").required(),
1856
- subtitle: Joi.string().allow("").required(),
1857
- title: Joi.string().allow("").required(),
1858
- transfer_mode: Joi.string().allow("").required(),
1816
+ beneficiary_id: Joi.string().allow("").required(),
1817
+ account_no: Joi.string().allow("").required(),
1818
+ bank_name: Joi.string().allow("").required(),
1819
+ mobile: Joi.string().allow(""),
1859
1820
  });
1860
1821
  }
1861
1822
 
@@ -1869,38 +1830,24 @@ class PaymentPlatformModel {
1869
1830
  });
1870
1831
  }
1871
1832
 
1872
- /** @returns {OrderDetail} */
1873
- static OrderDetail() {
1874
- return Joi.object({
1875
- aggregator: Joi.string().allow("").required(),
1876
- aggregator_order_details: Joi.any().required(),
1877
- amount: Joi.number().required(),
1878
- currency: Joi.string().allow("").required(),
1879
- gid: Joi.string().allow("").required(),
1880
- status: Joi.string().allow("").required(),
1881
- });
1882
- }
1883
-
1884
- /** @returns {Page} */
1885
- static Page() {
1833
+ /** @returns {MultiTenderPaymentMeta} */
1834
+ static MultiTenderPaymentMeta() {
1886
1835
  return Joi.object({
1887
- current: Joi.number(),
1888
- has_next: Joi.boolean(),
1889
- has_previous: Joi.boolean(),
1890
- item_total: Joi.number(),
1891
- next_id: Joi.string().allow(""),
1892
- size: Joi.number(),
1893
- type: Joi.string().allow("").required(),
1836
+ extra_meta: Joi.any().allow(null),
1837
+ order_id: Joi.string().allow(""),
1838
+ payment_id: Joi.string().allow(""),
1839
+ current_status: Joi.string().allow(""),
1840
+ payment_gateway: Joi.string().allow(""),
1894
1841
  });
1895
1842
  }
1896
1843
 
1897
- /** @returns {PaymentCode} */
1898
- static PaymentCode() {
1844
+ /** @returns {MultiTenderPaymentMethod} */
1845
+ static MultiTenderPaymentMethod() {
1899
1846
  return Joi.object({
1900
- codes: PaymentPlatformModel.Code().required(),
1901
- name: Joi.string().allow("").required(),
1902
- networks: Joi.string().allow("").required(),
1903
- types: Joi.string().allow("").required(),
1847
+ name: Joi.string().allow(""),
1848
+ meta: PaymentPlatformModel.MultiTenderPaymentMeta(),
1849
+ amount: Joi.number().required(),
1850
+ mode: Joi.string().allow("").required(),
1904
1851
  });
1905
1852
  }
1906
1853
 
@@ -1917,158 +1864,164 @@ class PaymentPlatformModel {
1917
1864
  /** @returns {PaymentConfirmationResponse} */
1918
1865
  static PaymentConfirmationResponse() {
1919
1866
  return Joi.object({
1920
- message: Joi.string().allow("").required(),
1921
1867
  order_id: Joi.string().allow("").required(),
1868
+ message: Joi.string().allow("").required(),
1922
1869
  success: Joi.boolean().required(),
1923
1870
  });
1924
1871
  }
1925
1872
 
1926
- /** @returns {PaymentCustomConfigCustomerRequestSchema} */
1927
- static PaymentCustomConfigCustomerRequestSchema() {
1873
+ /** @returns {CODdata} */
1874
+ static CODdata() {
1928
1875
  return Joi.object({
1929
- groups: Joi.array().items(Joi.number()),
1930
- restriction: Joi.string().allow("").required(),
1876
+ remaining_limit: Joi.number().required(),
1877
+ user_id: Joi.string().allow("").required(),
1878
+ is_active: Joi.boolean().required(),
1879
+ limit: Joi.number().required(),
1880
+ usages: Joi.number().required(),
1931
1881
  });
1932
1882
  }
1933
1883
 
1934
- /** @returns {PaymentCustomConfigCustomerSchema} */
1935
- static PaymentCustomConfigCustomerSchema() {
1884
+ /** @returns {GetUserCODLimitResponse} */
1885
+ static GetUserCODLimitResponse() {
1936
1886
  return Joi.object({
1937
- groups: Joi.array().items(Joi.number()),
1938
- restriction: Joi.string().allow("").required(),
1939
- types: Joi.array().items(Joi.string().allow("")),
1887
+ user_cod_data: PaymentPlatformModel.CODdata().required(),
1888
+ success: Joi.boolean().required(),
1940
1889
  });
1941
1890
  }
1942
1891
 
1943
- /** @returns {PaymentCustomConfigDetailsRequestSchema} */
1944
- static PaymentCustomConfigDetailsRequestSchema() {
1892
+ /** @returns {SetCODForUserRequest} */
1893
+ static SetCODForUserRequest() {
1945
1894
  return Joi.object({
1946
- customer: PaymentPlatformModel.PaymentCustomConfigCustomerRequestSchema().required(),
1947
- min_order_value: Joi.number().required(),
1948
- payment_mode: PaymentPlatformModel.PaymentCustomConfigModeSchema().required(),
1895
+ mobileno: Joi.string().allow("").required(),
1896
+ is_active: Joi.boolean().required(),
1897
+ merchant_user_id: Joi.string().allow("").required(),
1949
1898
  });
1950
1899
  }
1951
1900
 
1952
- /** @returns {PaymentCustomConfigDetailsSchema} */
1953
- static PaymentCustomConfigDetailsSchema() {
1901
+ /** @returns {SetCODOptionResponse} */
1902
+ static SetCODOptionResponse() {
1954
1903
  return Joi.object({
1955
- customer: PaymentPlatformModel.PaymentCustomConfigCustomerSchema().required(),
1956
- min_order_value: Joi.number().required(),
1957
- payment_mode: PaymentPlatformModel.PaymentCustomConfigModeSchema().required(),
1904
+ message: Joi.string().allow("").required(),
1905
+ success: Joi.boolean().required(),
1958
1906
  });
1959
1907
  }
1960
1908
 
1961
- /** @returns {PaymentCustomConfigModeSchema} */
1962
- static PaymentCustomConfigModeSchema() {
1909
+ /** @returns {EdcModelData} */
1910
+ static EdcModelData() {
1963
1911
  return Joi.object({
1964
- available: Joi.boolean().required(),
1965
- post_order: Joi.array().items(Joi.string().allow("")),
1966
- pre_order: Joi.array().items(Joi.string().allow("")),
1912
+ aggregator: Joi.string().allow("").required(),
1913
+ aggregator_id: Joi.number().required(),
1914
+ models: Joi.array().items(Joi.string().allow("")).required(),
1967
1915
  });
1968
1916
  }
1969
1917
 
1970
- /** @returns {PaymentCustomConfigRequestSchema} */
1971
- static PaymentCustomConfigRequestSchema() {
1918
+ /** @returns {EdcAggregatorAndModelListResponse} */
1919
+ static EdcAggregatorAndModelListResponse() {
1972
1920
  return Joi.object({
1973
- business_unit: Joi.string().allow("").required(),
1974
- items: Joi.array()
1975
- .items(PaymentPlatformModel.PaymentCustomConfigDetailsRequestSchema())
1976
- .required(),
1921
+ data: Joi.array().items(PaymentPlatformModel.EdcModelData()).required(),
1922
+ success: Joi.boolean().required(),
1977
1923
  });
1978
1924
  }
1979
1925
 
1980
- /** @returns {PaymentCustomConfigResponseSchema} */
1981
- static PaymentCustomConfigResponseSchema() {
1926
+ /** @returns {StatisticsData} */
1927
+ static StatisticsData() {
1982
1928
  return Joi.object({
1983
- items: Joi.array()
1984
- .items(PaymentPlatformModel.PaymentModeCustomConfigSchema())
1985
- .required(),
1986
- message: Joi.string().allow("").required(),
1929
+ inactive_device_count: Joi.number().required(),
1930
+ active_device_count: Joi.number().required(),
1931
+ });
1932
+ }
1933
+
1934
+ /** @returns {EdcDeviceStatsResponse} */
1935
+ static EdcDeviceStatsResponse() {
1936
+ return Joi.object({
1937
+ statistics: PaymentPlatformModel.StatisticsData().required(),
1987
1938
  success: Joi.boolean().required(),
1988
1939
  });
1989
1940
  }
1990
1941
 
1991
- /** @returns {PaymentDetailsSerializer} */
1992
- static PaymentDetailsSerializer() {
1942
+ /** @returns {EdcAddRequest} */
1943
+ static EdcAddRequest() {
1993
1944
  return Joi.object({
1994
- aggregator_customer_id: Joi.string().allow(""),
1995
- aggregator_order_id: Joi.string().allow(""),
1996
- amount: Joi.number().required(),
1997
- amount_captured: Joi.number().required(),
1998
- amount_refunded: Joi.number(),
1999
- cancel_url: Joi.string().allow(""),
2000
- captured: Joi.boolean(),
2001
- created: Joi.string().allow(""),
2002
- currency: Joi.string().allow("").required(),
2003
- g_user_id: Joi.string().allow("").required(),
2004
- gid: Joi.string().allow("").required(),
2005
- kind: Joi.string().allow(""),
2006
- locale: Joi.string().allow(""),
2007
- merchant_locale: Joi.string().allow(""),
2008
- meta: Joi.any().allow(null),
2009
- mode: Joi.string().allow("").required(),
2010
- payment_id: Joi.string().allow(""),
2011
- payment_methods: Joi.array().items(Joi.any()).required(),
2012
- status: Joi.string().allow("").required(),
2013
- success_url: Joi.string().allow(""),
1945
+ edc_model: Joi.string().allow("").required(),
1946
+ store_id: Joi.number().required(),
1947
+ aggregator_id: Joi.number().required(),
1948
+ edc_device_serial_no: Joi.string().allow("").required(),
1949
+ terminal_serial_no: Joi.string().allow("").required(),
1950
+ device_tag: Joi.string().allow("").allow(null),
2014
1951
  });
2015
1952
  }
2016
1953
 
2017
- /** @returns {PaymentFlow} */
2018
- static PaymentFlow() {
1954
+ /** @returns {EdcDevice} */
1955
+ static EdcDevice() {
2019
1956
  return Joi.object({
2020
- ajiodhan: PaymentPlatformModel.AggregatorRoute(),
2021
- bqr_razorpay: PaymentPlatformModel.AggregatorRoute(),
2022
- ccavenue: PaymentPlatformModel.AggregatorRoute(),
2023
- epaylater: PaymentPlatformModel.AggregatorRoute(),
2024
- fynd: PaymentPlatformModel.AggregatorRoute(),
2025
- jiopay: PaymentPlatformModel.AggregatorRoute(),
2026
- juspay: PaymentPlatformModel.AggregatorRoute(),
2027
- mswipe: PaymentPlatformModel.AggregatorRoute(),
2028
- payubiz: PaymentPlatformModel.AggregatorRoute(),
2029
- razorpay: PaymentPlatformModel.AggregatorRoute(),
2030
- rupifi: PaymentPlatformModel.AggregatorRoute(),
2031
- simpl: PaymentPlatformModel.AggregatorRoute(),
2032
- stripe: PaymentPlatformModel.AggregatorRoute(),
1957
+ edc_model: Joi.string().allow(""),
1958
+ store_id: Joi.number().required(),
1959
+ aggregator_id: Joi.number().required(),
1960
+ terminal_unique_identifier: Joi.string().allow("").required(),
1961
+ edc_device_serial_no: Joi.string().allow("").required(),
1962
+ is_active: Joi.boolean().required(),
1963
+ aggregator_name: Joi.string().allow(""),
1964
+ terminal_serial_no: Joi.string().allow("").required(),
1965
+ merchant_store_pos_code: Joi.string().allow("").allow(null),
1966
+ device_tag: Joi.string().allow("").required(),
1967
+ application_id: Joi.string().allow("").required(),
2033
1968
  });
2034
1969
  }
2035
1970
 
2036
- /** @returns {PaymentGatewayConfig} */
2037
- static PaymentGatewayConfig() {
1971
+ /** @returns {EdcDeviceAddResponse} */
1972
+ static EdcDeviceAddResponse() {
2038
1973
  return Joi.object({
2039
- config_type: Joi.string().allow("").required(),
2040
- is_active: Joi.boolean().allow(null),
2041
- key: Joi.string().allow("").required(),
2042
- merchant_salt: Joi.string().allow("").required(),
2043
- secret: Joi.string().allow("").required(),
1974
+ data: PaymentPlatformModel.EdcDevice().required(),
1975
+ success: Joi.boolean().required(),
2044
1976
  });
2045
1977
  }
2046
1978
 
2047
- /** @returns {PaymentGatewayConfigRequest} */
2048
- static PaymentGatewayConfigRequest() {
1979
+ /** @returns {EdcDeviceDetailsResponse} */
1980
+ static EdcDeviceDetailsResponse() {
2049
1981
  return Joi.object({
2050
- aggregator_name: PaymentPlatformModel.PaymentGatewayConfig(),
2051
- app_id: Joi.string().allow("").required(),
2052
- is_active: Joi.boolean().allow(null),
1982
+ data: PaymentPlatformModel.EdcDevice().required(),
1983
+ success: Joi.boolean().required(),
1984
+ });
1985
+ }
1986
+
1987
+ /** @returns {EdcUpdateRequest} */
1988
+ static EdcUpdateRequest() {
1989
+ return Joi.object({
1990
+ edc_model: Joi.string().allow(""),
1991
+ store_id: Joi.number(),
1992
+ aggregator_id: Joi.number(),
1993
+ edc_device_serial_no: Joi.string().allow(""),
1994
+ is_active: Joi.boolean(),
1995
+ merchant_store_pos_code: Joi.string().allow(""),
1996
+ device_tag: Joi.string().allow("").allow(null),
1997
+ });
1998
+ }
1999
+
2000
+ /** @returns {EdcDeviceUpdateResponse} */
2001
+ static EdcDeviceUpdateResponse() {
2002
+ return Joi.object({
2003
+ success: Joi.boolean().required(),
2053
2004
  });
2054
2005
  }
2055
2006
 
2056
- /** @returns {PaymentGatewayConfigResponse} */
2057
- static PaymentGatewayConfigResponse() {
2007
+ /** @returns {Page} */
2008
+ static Page() {
2058
2009
  return Joi.object({
2059
- aggregators: Joi.array().items(Joi.any()),
2060
- app_id: Joi.string().allow("").required(),
2061
- created: Joi.boolean().required(),
2062
- display_fields: Joi.array().items(Joi.string().allow("")).required(),
2063
- excluded_fields: Joi.array().items(Joi.string().allow("")).required(),
2064
- success: Joi.boolean().required(),
2010
+ item_total: Joi.number(),
2011
+ next_id: Joi.string().allow(""),
2012
+ has_previous: Joi.boolean(),
2013
+ has_next: Joi.boolean(),
2014
+ current: Joi.number(),
2015
+ type: Joi.string().allow("").required(),
2016
+ size: Joi.number(),
2065
2017
  });
2066
2018
  }
2067
2019
 
2068
- /** @returns {PaymentGatewayToBeReviewed} */
2069
- static PaymentGatewayToBeReviewed() {
2020
+ /** @returns {EdcDeviceListResponse} */
2021
+ static EdcDeviceListResponse() {
2070
2022
  return Joi.object({
2071
- aggregator: Joi.array().items(Joi.string().allow("")).required(),
2023
+ items: Joi.array().items(PaymentPlatformModel.EdcDevice()).required(),
2024
+ page: PaymentPlatformModel.Page().required(),
2072
2025
  success: Joi.boolean().required(),
2073
2026
  });
2074
2027
  }
@@ -2076,590 +2029,616 @@ class PaymentPlatformModel {
2076
2029
  /** @returns {PaymentInitializationRequest} */
2077
2030
  static PaymentInitializationRequest() {
2078
2031
  return Joi.object({
2032
+ razorpay_payment_id: Joi.string().allow("").allow(null),
2033
+ device_id: Joi.string().allow("").allow(null),
2034
+ email: Joi.string().allow("").required(),
2035
+ customer_id: Joi.string().allow("").required(),
2036
+ vpa: Joi.string().allow("").allow(null),
2079
2037
  aggregator: Joi.string().allow("").required(),
2038
+ order_id: Joi.string().allow("").required(),
2039
+ currency: Joi.string().allow("").required(),
2080
2040
  amount: Joi.number().allow(null).required(),
2081
2041
  contact: Joi.string().allow("").required(),
2082
- currency: Joi.string().allow("").required(),
2083
- customer_id: Joi.string().allow("").required(),
2084
- device_id: Joi.string().allow("").allow(null),
2085
- email: Joi.string().allow("").required(),
2042
+ timeout: Joi.number().allow(null),
2086
2043
  merchant_order_id: Joi.string().allow("").required(),
2087
2044
  method: Joi.string().allow("").required(),
2088
- order_id: Joi.string().allow("").required(),
2089
- razorpay_payment_id: Joi.string().allow("").allow(null),
2090
- timeout: Joi.number().allow(null),
2091
- vpa: Joi.string().allow("").allow(null),
2092
2045
  });
2093
2046
  }
2094
2047
 
2095
2048
  /** @returns {PaymentInitializationResponse} */
2096
2049
  static PaymentInitializationResponse() {
2097
2050
  return Joi.object({
2051
+ razorpay_payment_id: Joi.string().allow("").allow(null),
2052
+ device_id: Joi.string().allow("").allow(null),
2053
+ upi_poll_url: Joi.string().allow("").allow(null),
2054
+ customer_id: Joi.string().allow("").allow(null),
2055
+ polling_url: Joi.string().allow("").required(),
2056
+ vpa: Joi.string().allow("").allow(null),
2098
2057
  aggregator: Joi.string().allow("").required(),
2099
- aggregator_order_id: Joi.string().allow(""),
2100
- amount: Joi.number().allow(null),
2101
- bqr_image: Joi.string().allow("").allow(null),
2102
2058
  currency: Joi.string().allow("").allow(null),
2103
- customer_id: Joi.string().allow("").allow(null),
2104
- device_id: Joi.string().allow("").allow(null),
2105
2059
  merchant_order_id: Joi.string().allow("").required(),
2106
- method: Joi.string().allow("").required(),
2107
- polling_url: Joi.string().allow("").required(),
2108
- razorpay_payment_id: Joi.string().allow("").allow(null),
2109
- status: Joi.string().allow(""),
2110
- success: Joi.boolean().required(),
2060
+ amount: Joi.number().allow(null),
2111
2061
  timeout: Joi.number().allow(null),
2112
- upi_poll_url: Joi.string().allow("").allow(null),
2113
2062
  virtual_id: Joi.string().allow("").allow(null),
2114
- vpa: Joi.string().allow("").allow(null),
2063
+ bqr_image: Joi.string().allow("").allow(null),
2064
+ aggregator_order_id: Joi.string().allow(""),
2065
+ success: Joi.boolean().required(),
2066
+ status: Joi.string().allow(""),
2067
+ method: Joi.string().allow("").required(),
2115
2068
  });
2116
2069
  }
2117
2070
 
2118
- /** @returns {PaymentMethodsMetaOrder} */
2119
- static PaymentMethodsMetaOrder() {
2071
+ /** @returns {PaymentStatusUpdateRequest} */
2072
+ static PaymentStatusUpdateRequest() {
2120
2073
  return Joi.object({
2121
- merchant_code: Joi.string().allow("").required(),
2122
- payment_gateway: Joi.string().allow("").required(),
2123
- payment_identifier: Joi.string().allow("").required(),
2074
+ device_id: Joi.string().allow("").allow(null),
2075
+ email: Joi.string().allow("").required(),
2076
+ customer_id: Joi.string().allow("").required(),
2077
+ vpa: Joi.string().allow(""),
2078
+ aggregator: Joi.string().allow("").required(),
2079
+ order_id: Joi.string().allow("").required(),
2080
+ currency: Joi.string().allow("").required(),
2081
+ amount: Joi.number().allow(null).required(),
2082
+ contact: Joi.string().allow("").required(),
2083
+ merchant_order_id: Joi.string().allow("").required(),
2084
+ status: Joi.string().allow("").required(),
2085
+ method: Joi.string().allow("").required(),
2086
+ merchant_transaction_id: Joi.string().allow("").required(),
2124
2087
  });
2125
2088
  }
2126
2089
 
2127
- /** @returns {PaymentModeCustomConfigSchema} */
2128
- static PaymentModeCustomConfigSchema() {
2090
+ /** @returns {PaymentStatusUpdateResponse} */
2091
+ static PaymentStatusUpdateResponse() {
2129
2092
  return Joi.object({
2130
- business_unit: Joi.string().allow("").required(),
2131
- custom_config: PaymentPlatformModel.PaymentCustomConfigDetailsSchema().required(),
2132
- display_name: Joi.string().allow("").required(),
2093
+ redirect_url: Joi.string().allow("").allow(null),
2094
+ retry: Joi.boolean().required(),
2095
+ success: Joi.boolean().allow(null),
2096
+ status: Joi.string().allow("").required(),
2097
+ aggregator_name: Joi.string().allow("").required(),
2133
2098
  });
2134
2099
  }
2135
2100
 
2136
- /** @returns {PaymentModeList} */
2137
- static PaymentModeList() {
2101
+ /** @returns {ResendOrCancelPaymentRequest} */
2102
+ static ResendOrCancelPaymentRequest() {
2138
2103
  return Joi.object({
2139
- aggregator_name: Joi.string().allow("").required(),
2140
- card_brand: Joi.string().allow("").allow(null),
2141
- card_brand_image: Joi.string().allow("").allow(null),
2142
- card_fingerprint: Joi.string().allow("").allow(null),
2143
- card_id: Joi.string().allow("").allow(null),
2144
- card_isin: Joi.string().allow("").allow(null),
2145
- card_issuer: Joi.string().allow("").allow(null),
2146
- card_name: Joi.string().allow("").allow(null),
2147
- card_number: Joi.string().allow("").allow(null),
2148
- card_reference: Joi.string().allow("").allow(null),
2149
- card_token: Joi.string().allow("").allow(null),
2150
- card_type: Joi.string().allow("").allow(null),
2151
- cod_charges: Joi.number().allow(null),
2152
- cod_limit: Joi.number().allow(null),
2153
- cod_limit_per_order: Joi.number().allow(null),
2154
- code: Joi.string().allow("").allow(null),
2155
- compliant_with_tokenisation_guidelines: Joi.boolean().allow(null),
2156
- display_name: Joi.string().allow("").allow(null),
2157
- display_priority: Joi.number().allow(null),
2158
- exp_month: Joi.number().allow(null),
2159
- exp_year: Joi.number().allow(null),
2160
- expired: Joi.boolean().allow(null),
2161
- fynd_vpa: Joi.string().allow("").allow(null),
2162
- intent_app: Joi.array().items(PaymentPlatformModel.IntentApp()),
2163
- intent_app_error_dict_list: Joi.array().items(
2164
- PaymentPlatformModel.IntentAppErrorList()
2165
- ),
2166
- intent_app_error_list: Joi.array().items(Joi.string().allow("")),
2167
- intent_flow: Joi.boolean().allow(null),
2168
- logo_url: PaymentPlatformModel.PaymentModeLogo(),
2169
- merchant_code: Joi.string().allow("").allow(null),
2170
- name: Joi.string().allow("").allow(null),
2171
- nickname: Joi.string().allow("").allow(null),
2172
- product_cod_data: PaymentPlatformModel.ProductCODData(),
2173
- remaining_limit: Joi.number().allow(null),
2174
- retry_count: Joi.number().allow(null),
2175
- timeout: Joi.number().allow(null),
2104
+ order_id: Joi.string().allow("").required(),
2105
+ device_id: Joi.string().allow("").allow(null),
2106
+ request_type: Joi.string().allow("").required(),
2176
2107
  });
2177
2108
  }
2178
2109
 
2179
- /** @returns {PaymentModeLogo} */
2180
- static PaymentModeLogo() {
2110
+ /** @returns {LinkStatus} */
2111
+ static LinkStatus() {
2181
2112
  return Joi.object({
2182
- large: Joi.string().allow("").required(),
2183
- small: Joi.string().allow("").required(),
2113
+ status: Joi.string().allow("").required(),
2114
+ message: Joi.string().allow("").required(),
2184
2115
  });
2185
2116
  }
2186
2117
 
2187
- /** @returns {PaymentModeRouteResponse} */
2188
- static PaymentModeRouteResponse() {
2118
+ /** @returns {ResendOrCancelPaymentResponse} */
2119
+ static ResendOrCancelPaymentResponse() {
2189
2120
  return Joi.object({
2190
- advance_payment: Joi.array().items(
2191
- PaymentPlatformModel.AdvancePaymentObject()
2192
- ),
2193
- payment_breakup: Joi.any(),
2194
- payment_options: PaymentPlatformModel.PaymentOptionAndFlow().required(),
2121
+ data: PaymentPlatformModel.LinkStatus().required(),
2195
2122
  success: Joi.boolean().required(),
2196
2123
  });
2197
2124
  }
2198
2125
 
2126
+ /** @returns {PaymentStatusBulkHandlerRequest} */
2127
+ static PaymentStatusBulkHandlerRequest() {
2128
+ return Joi.object({
2129
+ merchant_order_id: Joi.array().items(Joi.string().allow("")).required(),
2130
+ });
2131
+ }
2132
+
2199
2133
  /** @returns {PaymentObjectListSerializer} */
2200
2134
  static PaymentObjectListSerializer() {
2201
2135
  return Joi.object({
2202
- aggregator_payment_object: Joi.any().allow(null),
2203
- all_status: Joi.array().items(Joi.string().allow("")).required(),
2204
- amount_in_paisa: Joi.string().allow("").required(),
2205
- application_id: Joi.string().allow("").required(),
2136
+ user_object: Joi.any().required(),
2137
+ modified_on: Joi.string().allow("").required(),
2206
2138
  collected_by: Joi.string().allow("").required(),
2207
- company_id: Joi.string().allow("").required(),
2208
2139
  created_on: Joi.string().allow("").required(),
2209
- currency: Joi.string().allow("").required(),
2210
- current_status: Joi.string().allow("").required(),
2140
+ refund_object: Joi.any().allow(null),
2211
2141
  id: Joi.string().allow("").required(),
2212
- modified_on: Joi.string().allow("").required(),
2213
- payment_gateway: Joi.string().allow("").required(),
2214
2142
  payment_id: Joi.string().allow("").allow(null),
2143
+ currency: Joi.string().allow("").required(),
2144
+ current_status: Joi.string().allow("").required(),
2145
+ aggregator_payment_object: Joi.any().allow(null),
2215
2146
  payment_mode: Joi.string().allow("").required(),
2216
- payment_mode_identifier: Joi.string().allow("").required(),
2217
- refund_object: Joi.any().allow(null),
2218
2147
  refunded_by: Joi.string().allow("").required(),
2219
- user_object: Joi.any().required(),
2148
+ amount_in_paisa: Joi.string().allow("").required(),
2149
+ payment_gateway: Joi.string().allow("").required(),
2150
+ company_id: Joi.string().allow("").required(),
2151
+ payment_mode_identifier: Joi.string().allow("").required(),
2152
+ application_id: Joi.string().allow("").required(),
2153
+ all_status: Joi.array().items(Joi.string().allow("")).required(),
2220
2154
  });
2221
2155
  }
2222
2156
 
2223
- /** @returns {PaymentOptionAndFlow} */
2224
- static PaymentOptionAndFlow() {
2157
+ /** @returns {PaymentStatusObject} */
2158
+ static PaymentStatusObject() {
2225
2159
  return Joi.object({
2226
- payment_flows: PaymentPlatformModel.PaymentFlow().required(),
2227
- payment_option: Joi.array()
2228
- .items(PaymentPlatformModel.RootPaymentMode())
2229
- .required(),
2160
+ merchant_order_id: Joi.string().allow("").required(),
2161
+ payment_object_list: Joi.array().items(
2162
+ PaymentPlatformModel.PaymentObjectListSerializer()
2163
+ ),
2230
2164
  });
2231
2165
  }
2232
2166
 
2233
- /** @returns {PaymentOptions} */
2234
- static PaymentOptions() {
2167
+ /** @returns {PaymentStatusBulkHandlerResponse} */
2168
+ static PaymentStatusBulkHandlerResponse() {
2235
2169
  return Joi.object({
2236
- payment_option: Joi.array()
2237
- .items(PaymentPlatformModel.RootPaymentMode())
2238
- .required(),
2170
+ count: Joi.number(),
2171
+ data: Joi.array().items(PaymentPlatformModel.PaymentStatusObject()),
2172
+ success: Joi.string().allow("").required(),
2173
+ error: Joi.string().allow(""),
2174
+ status: Joi.number().required(),
2239
2175
  });
2240
2176
  }
2241
2177
 
2242
- /** @returns {PaymentOptionsResponse} */
2243
- static PaymentOptionsResponse() {
2178
+ /** @returns {GetOauthUrlResponse} */
2179
+ static GetOauthUrlResponse() {
2244
2180
  return Joi.object({
2245
- payment_breakup: Joi.any(),
2246
- payment_options: PaymentPlatformModel.PaymentOptions().required(),
2181
+ url: Joi.string().allow("").required(),
2247
2182
  success: Joi.boolean().required(),
2248
2183
  });
2249
2184
  }
2250
2185
 
2251
- /** @returns {PaymentOrderData} */
2252
- static PaymentOrderData() {
2186
+ /** @returns {RevokeOAuthToken} */
2187
+ static RevokeOAuthToken() {
2253
2188
  return Joi.object({
2254
- aggregator: Joi.string().allow("").allow(null),
2255
- amount: Joi.number().allow(null),
2256
- callback_url: Joi.string().allow("").allow(null),
2257
- contact: Joi.string().allow("").allow(null),
2258
- currency: Joi.string().allow("").allow(null),
2259
- customer_id: Joi.string().allow("").allow(null),
2260
- email: Joi.string().allow("").allow(null),
2261
- merchant_order_id: Joi.string().allow("").allow(null),
2262
- method: Joi.string().allow("").allow(null),
2263
- order_id: Joi.string().allow("").allow(null),
2189
+ message: Joi.string().allow("").required(),
2190
+ success: Joi.boolean().required(),
2264
2191
  });
2265
2192
  }
2266
2193
 
2267
- /** @returns {PaymentOrderMethods} */
2268
- static PaymentOrderMethods() {
2194
+ /** @returns {RepaymentRequestDetails} */
2195
+ static RepaymentRequestDetails() {
2269
2196
  return Joi.object({
2197
+ fwd_shipment_id: Joi.string().allow("").required(),
2198
+ aggregator: Joi.string().allow("").required(),
2199
+ current_status: Joi.string().allow("").required(),
2200
+ merchant_order_id: Joi.string().allow("").required(),
2270
2201
  amount: Joi.number().required(),
2271
- meta: PaymentPlatformModel.PaymentMethodsMetaOrder().required(),
2272
- mode: Joi.string().allow("").required(),
2273
- name: Joi.string().allow("").required(),
2274
- payment: Joi.string().allow(""),
2202
+ payment_mode: Joi.string().allow("").required(),
2203
+ outstanding_details_id: Joi.number().required(),
2204
+ aggregator_transaction_id: Joi.string().allow("").required(),
2205
+ aggregator_order_id: Joi.string().allow("").required(),
2206
+ payment_mode_identifier: Joi.string().allow("").required(),
2275
2207
  });
2276
2208
  }
2277
2209
 
2278
- /** @returns {PaymentOrderRequest} */
2279
- static PaymentOrderRequest() {
2210
+ /** @returns {RepaymentDetailsSerialiserPayAll} */
2211
+ static RepaymentDetailsSerialiserPayAll() {
2280
2212
  return Joi.object({
2281
- order_id: Joi.string().allow("").required(),
2282
- payment_methods: Joi.array().items(
2283
- PaymentPlatformModel.PaymentOrderMethods()
2213
+ total_amount: Joi.number().required(),
2214
+ extension_order_id: Joi.string().allow("").allow(null).required(),
2215
+ aggregator_transaction_id: Joi.string().allow("").required(),
2216
+ aggregator_order_id: Joi.string().allow("").required(),
2217
+ shipment_details: Joi.array().items(
2218
+ PaymentPlatformModel.RepaymentRequestDetails()
2284
2219
  ),
2285
- shipment_id: Joi.string().allow(""),
2286
2220
  });
2287
2221
  }
2288
2222
 
2289
- /** @returns {PaymentOrderResponse} */
2290
- static PaymentOrderResponse() {
2223
+ /** @returns {RepaymentResponse} */
2224
+ static RepaymentResponse() {
2291
2225
  return Joi.object({
2292
- callback_url: Joi.string().allow("").allow(null),
2293
- data: PaymentPlatformModel.PaymentOrderData(),
2294
- message: Joi.string().allow("").required(),
2295
- order_id: Joi.string().allow("").allow(null),
2296
- payment_confirm_url: Joi.string().allow("").allow(null),
2297
- status_code: Joi.number().required(),
2226
+ data: Joi.any().required(),
2298
2227
  success: Joi.boolean().required(),
2299
2228
  });
2300
2229
  }
2301
2230
 
2302
- /** @returns {PaymentSessionDetail} */
2303
- static PaymentSessionDetail() {
2231
+ /** @returns {MerchantOnBoardingRequest} */
2232
+ static MerchantOnBoardingRequest() {
2304
2233
  return Joi.object({
2305
- aggregator_customer_id: Joi.string().allow(""),
2306
- aggregator_order_id: Joi.string().allow("").required(),
2307
- amount: Joi.number().required(),
2308
- amount_captured: Joi.number().required(),
2309
- amount_refunded: Joi.number(),
2310
- billing_address: PaymentPlatformModel.AddressDetail(),
2311
- cancel_url: Joi.string().allow("").required(),
2312
- captured: Joi.boolean(),
2313
- created: Joi.string().allow(""),
2314
- currency: Joi.string().allow("").required(),
2315
- g_user_id: Joi.string().allow("").required(),
2316
- gid: Joi.string().allow("").required(),
2317
- kind: Joi.string().allow(""),
2318
- locale: Joi.string().allow(""),
2319
- merchant_locale: Joi.string().allow(""),
2320
- meta: Joi.any(),
2321
- mode: Joi.string().allow("").required(),
2322
- payment_id: Joi.string().allow("").required(),
2323
- payment_methods: Joi.array().items(Joi.any()).required(),
2324
- shipping_address: PaymentPlatformModel.AddressDetail(),
2234
+ credit_line_id: Joi.string().allow("").required(),
2235
+ aggregator: Joi.string().allow("").required(),
2236
+ app_id: Joi.string().allow("").required(),
2237
+ user_id: Joi.string().allow("").required(),
2325
2238
  status: Joi.string().allow("").required(),
2326
- success_url: Joi.string().allow("").required(),
2327
2239
  });
2328
2240
  }
2329
2241
 
2330
- /** @returns {PaymentSessionRequestSerializer} */
2331
- static PaymentSessionRequestSerializer() {
2242
+ /** @returns {MerchantOnBoardingResponse} */
2243
+ static MerchantOnBoardingResponse() {
2332
2244
  return Joi.object({
2333
- currency: Joi.string().allow("").required(),
2334
- gid: Joi.string().allow("").required(),
2335
- meta: Joi.any(),
2336
- order_details: PaymentPlatformModel.OrderDetail().required(),
2337
- payment_details: Joi.array()
2338
- .items(PaymentPlatformModel.PaymentSessionDetail())
2339
- .required(),
2340
- status: Joi.string().allow("").required(),
2341
- total_amount: Joi.number().required(),
2245
+ data: Joi.any().required(),
2246
+ success: Joi.boolean().required(),
2342
2247
  });
2343
2248
  }
2344
2249
 
2345
- /** @returns {PaymentSessionResponseSerializer} */
2346
- static PaymentSessionResponseSerializer() {
2250
+ /** @returns {ValidateCustomerRequest} */
2251
+ static ValidateCustomerRequest() {
2347
2252
  return Joi.object({
2348
- currency: Joi.string().allow("").required(),
2349
- gid: Joi.string().allow("").required(),
2350
- platform_transaction_details: Joi.array().items(Joi.any()).required(),
2351
- status: Joi.string().allow("").required(),
2352
- total_amount: Joi.number().required(),
2253
+ phone_number: Joi.string().allow("").required(),
2254
+ aggregator: Joi.string().allow("").required(),
2255
+ payload: Joi.string().allow("").allow(null),
2256
+ delivery_address: Joi.any(),
2257
+ transaction_amount_in_paise: Joi.number().required(),
2258
+ order_items: Joi.array().items(Joi.any()),
2259
+ merchant_params: Joi.any(),
2260
+ billing_address: Joi.any(),
2353
2261
  });
2354
2262
  }
2355
2263
 
2356
- /** @returns {PaymentSessionSerializer} */
2357
- static PaymentSessionSerializer() {
2264
+ /** @returns {ValidateCustomerResponse} */
2265
+ static ValidateCustomerResponse() {
2358
2266
  return Joi.object({
2359
- cart_details: PaymentPlatformModel.CartDetailsSerializer(),
2360
- currency: Joi.string().allow("").allow(null),
2361
- gid: Joi.string().allow("").allow(null).required(),
2362
- payment_details: Joi.any().required(),
2363
- refund_details: Joi.array()
2364
- .items(PaymentPlatformModel.RefundDetailsSerializer())
2365
- .required(),
2366
- status: Joi.string().allow("").required(),
2367
- total_amount: Joi.number().required(),
2267
+ message: Joi.string().allow("").required(),
2268
+ data: Joi.any().required(),
2269
+ success: Joi.boolean().required(),
2368
2270
  });
2369
2271
  }
2370
2272
 
2371
- /** @returns {PaymentStatusBulkHandlerRequest} */
2372
- static PaymentStatusBulkHandlerRequest() {
2273
+ /** @returns {GetPaymentLinkResponse} */
2274
+ static GetPaymentLinkResponse() {
2373
2275
  return Joi.object({
2374
- merchant_order_id: Joi.array().items(Joi.string().allow("")).required(),
2276
+ message: Joi.string().allow("").required(),
2277
+ status_code: Joi.number().required(),
2278
+ amount: Joi.number().allow(null),
2279
+ merchant_name: Joi.string().allow("").allow(null),
2280
+ payment_link_url: Joi.string().allow("").allow(null),
2281
+ payment_link_current_status: Joi.string().allow("").allow(null),
2282
+ external_order_id: Joi.string().allow("").allow(null),
2283
+ polling_timeout: Joi.number().allow(null),
2284
+ success: Joi.boolean().required(),
2375
2285
  });
2376
2286
  }
2377
2287
 
2378
- /** @returns {PaymentStatusBulkHandlerResponse} */
2379
- static PaymentStatusBulkHandlerResponse() {
2288
+ /** @returns {ErrorDescription} */
2289
+ static ErrorDescription() {
2380
2290
  return Joi.object({
2381
- count: Joi.number(),
2382
- data: Joi.array().items(PaymentPlatformModel.PaymentStatusObject()),
2383
- error: Joi.string().allow(""),
2384
- status: Joi.number().required(),
2385
- success: Joi.string().allow("").required(),
2291
+ msg: Joi.string().allow("").allow(null),
2292
+ payment_transaction_id: Joi.string().allow("").allow(null),
2293
+ invalid_id: Joi.boolean().allow(null),
2294
+ merchant_order_id: Joi.string().allow("").allow(null),
2295
+ merchant_name: Joi.string().allow("").allow(null),
2296
+ amount: Joi.number().allow(null),
2297
+ expired: Joi.boolean().allow(null),
2298
+ cancelled: Joi.boolean().allow(null),
2386
2299
  });
2387
2300
  }
2388
2301
 
2389
- /** @returns {PaymentStatusObject} */
2390
- static PaymentStatusObject() {
2302
+ /** @returns {ErrorResponse} */
2303
+ static ErrorResponse() {
2391
2304
  return Joi.object({
2392
- merchant_order_id: Joi.string().allow("").required(),
2393
- payment_object_list: Joi.array().items(
2394
- PaymentPlatformModel.PaymentObjectListSerializer()
2395
- ),
2305
+ status_code: Joi.number().required(),
2306
+ error: PaymentPlatformModel.ErrorDescription(),
2307
+ message: Joi.string().allow("").required(),
2308
+ success: Joi.boolean().required(),
2396
2309
  });
2397
2310
  }
2398
2311
 
2399
- /** @returns {PaymentStatusUpdateRequest} */
2400
- static PaymentStatusUpdateRequest() {
2312
+ /** @returns {CreatePaymentLinkMeta} */
2313
+ static CreatePaymentLinkMeta() {
2401
2314
  return Joi.object({
2402
- aggregator: Joi.string().allow("").required(),
2403
- amount: Joi.number().allow(null).required(),
2404
- contact: Joi.string().allow("").required(),
2405
- currency: Joi.string().allow("").required(),
2406
- customer_id: Joi.string().allow("").required(),
2407
- device_id: Joi.string().allow("").allow(null),
2408
- email: Joi.string().allow("").required(),
2409
- merchant_order_id: Joi.string().allow("").required(),
2410
- merchant_transaction_id: Joi.string().allow("").required(),
2411
- method: Joi.string().allow("").required(),
2412
- order_id: Joi.string().allow("").required(),
2413
- status: Joi.string().allow("").required(),
2414
- vpa: Joi.string().allow(""),
2315
+ cart_id: Joi.string().allow("").required(),
2316
+ checkout_mode: Joi.string().allow("").required(),
2317
+ amount: Joi.string().allow("").required(),
2318
+ assign_card_id: Joi.string().allow("").allow(null),
2415
2319
  });
2416
2320
  }
2417
2321
 
2418
- /** @returns {PaymentStatusUpdateResponse} */
2419
- static PaymentStatusUpdateResponse() {
2322
+ /** @returns {CreatePaymentLinkRequest} */
2323
+ static CreatePaymentLinkRequest() {
2420
2324
  return Joi.object({
2421
- aggregator_name: Joi.string().allow("").required(),
2422
- redirect_url: Joi.string().allow("").allow(null),
2423
- retry: Joi.boolean().required(),
2424
- status: Joi.string().allow("").required(),
2425
- success: Joi.boolean().allow(null),
2325
+ email: Joi.string().allow("").required(),
2326
+ amount: Joi.number().required(),
2327
+ mobile_number: Joi.string().allow("").required(),
2328
+ country_phone_code: Joi.string().allow(""),
2329
+ description: Joi.string().allow("").allow(null),
2330
+ meta: PaymentPlatformModel.CreatePaymentLinkMeta().required(),
2331
+ external_order_id: Joi.string().allow("").required(),
2426
2332
  });
2427
2333
  }
2428
2334
 
2429
- /** @returns {Payout} */
2430
- static Payout() {
2335
+ /** @returns {CreatePaymentLinkResponse} */
2336
+ static CreatePaymentLinkResponse() {
2431
2337
  return Joi.object({
2432
- customers: PaymentPlatformModel.PayoutCustomer().required(),
2433
- is_active: Joi.boolean().required(),
2434
- is_default: Joi.boolean().required(),
2435
- more_attributes: PaymentPlatformModel.PayoutMoreAttributes().required(),
2436
- payouts_aggregators: Joi.array().items(
2437
- PaymentPlatformModel.PayoutAggregator()
2438
- ),
2439
- transfer_type: Joi.string().allow("").required(),
2440
- unique_transfer_no: Joi.string().allow("").required(),
2338
+ message: Joi.string().allow("").required(),
2339
+ status_code: Joi.number().required(),
2340
+ payment_link_url: Joi.string().allow("").allow(null),
2341
+ polling_timeout: Joi.number().allow(null),
2342
+ success: Joi.boolean().required(),
2343
+ payment_link_id: Joi.string().allow("").allow(null),
2441
2344
  });
2442
2345
  }
2443
2346
 
2444
- /** @returns {PayoutAggregator} */
2445
- static PayoutAggregator() {
2347
+ /** @returns {PollingPaymentLinkResponse} */
2348
+ static PollingPaymentLinkResponse() {
2446
2349
  return Joi.object({
2447
- aggregator_fund_id: Joi.number().allow(null),
2448
- aggregator_id: Joi.number().allow(null),
2449
- payout_details_id: Joi.number().allow(null),
2350
+ message: Joi.string().allow("").allow(null),
2351
+ http_status: Joi.number().allow(null),
2352
+ status_code: Joi.number().allow(null),
2353
+ redirect_url: Joi.string().allow("").allow(null),
2354
+ amount: Joi.number().allow(null),
2355
+ order_id: Joi.string().allow("").allow(null),
2356
+ success: Joi.boolean().allow(null),
2357
+ payment_link_id: Joi.string().allow("").allow(null),
2358
+ status: Joi.string().allow("").allow(null),
2359
+ aggregator_name: Joi.string().allow("").allow(null),
2450
2360
  });
2451
2361
  }
2452
2362
 
2453
- /** @returns {PayoutBankDetails} */
2454
- static PayoutBankDetails() {
2363
+ /** @returns {CancelOrResendPaymentLinkRequest} */
2364
+ static CancelOrResendPaymentLinkRequest() {
2455
2365
  return Joi.object({
2456
- account_holder: Joi.string().allow(""),
2457
- account_no: Joi.string().allow(""),
2458
- account_type: Joi.string().allow("").required(),
2459
- bank_name: Joi.string().allow(""),
2460
- branch_name: Joi.string().allow(""),
2461
- city: Joi.string().allow(""),
2462
- country: Joi.string().allow(""),
2463
- ifsc_code: Joi.string().allow("").required(),
2464
- pincode: Joi.number(),
2465
- state: Joi.string().allow(""),
2366
+ payment_link_id: Joi.string().allow("").required(),
2466
2367
  });
2467
2368
  }
2468
2369
 
2469
- /** @returns {PayoutCustomer} */
2470
- static PayoutCustomer() {
2370
+ /** @returns {ResendPaymentLinkResponse} */
2371
+ static ResendPaymentLinkResponse() {
2471
2372
  return Joi.object({
2472
- email: Joi.string().allow("").allow(null),
2473
- id: Joi.number().allow(null),
2474
- mobile: Joi.string().allow("").allow(null),
2475
- name: Joi.string().allow("").allow(null),
2476
- unique_external_id: Joi.string().allow("").allow(null),
2373
+ status_code: Joi.number().required(),
2374
+ message: Joi.string().allow("").required(),
2375
+ polling_timeout: Joi.number().allow(null),
2376
+ success: Joi.boolean().required(),
2477
2377
  });
2478
2378
  }
2479
2379
 
2480
- /** @returns {PayoutMoreAttributes} */
2481
- static PayoutMoreAttributes() {
2482
- return Joi.object({
2483
- account_holder: Joi.string().allow("").allow(null),
2484
- account_no: Joi.string().allow("").allow(null),
2485
- account_type: Joi.string().allow("").allow(null),
2486
- bank_name: Joi.string().allow("").allow(null),
2487
- branch_name: Joi.string().allow("").allow(null),
2488
- city: Joi.string().allow("").allow(null),
2489
- country: Joi.string().allow("").allow(null),
2490
- ifsc_code: Joi.string().allow("").allow(null),
2491
- state: Joi.string().allow("").allow(null),
2380
+ /** @returns {CancelPaymentLinkResponse} */
2381
+ static CancelPaymentLinkResponse() {
2382
+ return Joi.object({
2383
+ status_code: Joi.number().required(),
2384
+ message: Joi.string().allow("").required(),
2385
+ success: Joi.boolean().required(),
2492
2386
  });
2493
2387
  }
2494
2388
 
2495
- /** @returns {PayoutRequest} */
2496
- static PayoutRequest() {
2389
+ /** @returns {Code} */
2390
+ static Code() {
2497
2391
  return Joi.object({
2498
- aggregator: Joi.string().allow("").required(),
2499
- bank_details: PaymentPlatformModel.PayoutBankDetails().required(),
2500
- is_active: Joi.boolean().required(),
2501
- transfer_type: Joi.string().allow("").required(),
2502
- unique_external_id: Joi.string().allow("").required(),
2503
- users: Joi.any().required(),
2392
+ name: Joi.string().allow("").required(),
2393
+ merchant_code: Joi.string().allow("").required(),
2394
+ code: Joi.string().allow("").required(),
2504
2395
  });
2505
2396
  }
2506
2397
 
2507
- /** @returns {PayoutResponse} */
2508
- static PayoutResponse() {
2398
+ /** @returns {PaymentCode} */
2399
+ static PaymentCode() {
2509
2400
  return Joi.object({
2510
- aggregator: Joi.string().allow("").required(),
2511
- bank_details: Joi.any().required(),
2512
- created: Joi.boolean().required(),
2513
- is_active: Joi.boolean().required(),
2514
- payment_status: Joi.string().allow("").required(),
2515
- payouts: Joi.any().required(),
2516
- success: Joi.boolean().required(),
2517
- transfer_type: Joi.string().allow("").required(),
2518
- unique_transfer_no: Joi.string().allow("").required(),
2519
- users: Joi.any().required(),
2401
+ networks: Joi.string().allow("").required(),
2402
+ codes: PaymentPlatformModel.Code().required(),
2403
+ name: Joi.string().allow("").required(),
2404
+ types: Joi.string().allow("").required(),
2520
2405
  });
2521
2406
  }
2522
2407
 
2523
- /** @returns {PayoutsResponse} */
2524
- static PayoutsResponse() {
2408
+ /** @returns {GetPaymentCode} */
2409
+ static GetPaymentCode() {
2525
2410
  return Joi.object({
2526
- items: Joi.array().items(PaymentPlatformModel.Payout()).required(),
2527
- success: Joi.boolean().required(),
2411
+ method_code: PaymentPlatformModel.PaymentCode().required(),
2528
2412
  });
2529
2413
  }
2530
2414
 
2531
- /** @returns {PlatformPaymentModeCopyConfigRequest} */
2532
- static PlatformPaymentModeCopyConfigRequest() {
2415
+ /** @returns {GetPaymentCodeResponse} */
2416
+ static GetPaymentCodeResponse() {
2533
2417
  return Joi.object({
2534
- from_config: PaymentPlatformModel.FromConfig().required(),
2535
- to_config: PaymentPlatformModel.ToConfig().required(),
2418
+ data: PaymentPlatformModel.GetPaymentCode().required(),
2419
+ success: Joi.boolean().required(),
2536
2420
  });
2537
2421
  }
2538
2422
 
2539
2423
  /** @returns {PlatformPaymentModeResponse} */
2540
2424
  static PlatformPaymentModeResponse() {
2541
2425
  return Joi.object({
2542
- items: Joi.array().items(Joi.any()),
2543
2426
  message: Joi.string().allow("").allow(null),
2427
+ items: Joi.array().items(Joi.any()),
2544
2428
  success: Joi.boolean().required(),
2545
2429
  });
2546
2430
  }
2547
2431
 
2548
- /** @returns {PollingPaymentLinkResponse} */
2549
- static PollingPaymentLinkResponse() {
2432
+ /** @returns {MerchnatPaymentModeRequest} */
2433
+ static MerchnatPaymentModeRequest() {
2550
2434
  return Joi.object({
2551
- aggregator_name: Joi.string().allow("").allow(null),
2552
- amount: Joi.number().allow(null),
2553
- http_status: Joi.number().allow(null),
2554
- message: Joi.string().allow("").allow(null),
2555
- order_id: Joi.string().allow("").allow(null),
2556
- payment_link_id: Joi.string().allow("").allow(null),
2557
- redirect_url: Joi.string().allow("").allow(null),
2558
- status: Joi.string().allow("").allow(null),
2559
- status_code: Joi.number().allow(null),
2560
- success: Joi.boolean().allow(null),
2435
+ offline: Joi.any().allow(null),
2436
+ online: Joi.any().allow(null),
2561
2437
  });
2562
2438
  }
2563
2439
 
2564
- /** @returns {ProductCODData} */
2565
- static ProductCODData() {
2440
+ /** @returns {OrderDetail} */
2441
+ static OrderDetail() {
2566
2442
  return Joi.object({
2567
- cod_charges: PaymentPlatformModel.CODChargesLimitsResponse(),
2568
- items: Joi.any().allow(null),
2443
+ gid: Joi.string().allow("").required(),
2444
+ amount: Joi.number().required(),
2445
+ status: Joi.string().allow("").required(),
2446
+ currency: Joi.string().allow("").required(),
2447
+ aggregator_order_details: Joi.any().required(),
2448
+ aggregator: Joi.string().allow("").required(),
2569
2449
  });
2570
2450
  }
2571
2451
 
2572
- /** @returns {RefundAccountResponse} */
2573
- static RefundAccountResponse() {
2452
+ /** @returns {AddressDetail} */
2453
+ static AddressDetail() {
2574
2454
  return Joi.object({
2575
- data: Joi.any(),
2576
- is_verified_flag: Joi.boolean(),
2577
- message: Joi.string().allow("").required(),
2578
- success: Joi.boolean().required(),
2455
+ google_map_point: Joi.any(),
2456
+ landmark: Joi.string().allow(""),
2457
+ phone: Joi.string().allow("").required(),
2458
+ country_iso_code: Joi.string().allow("").required(),
2459
+ area_code: Joi.string().allow("").required(),
2460
+ country: Joi.string().allow("").required(),
2461
+ expire_at: Joi.string().allow(""),
2462
+ geo_location: Joi.any(),
2463
+ state: Joi.string().allow("").required(),
2464
+ area: Joi.string().allow("").required(),
2465
+ g_address_id: Joi.string().allow("").required(),
2466
+ area_code_slug: Joi.string().allow("").required(),
2467
+ country_phone_code: Joi.string().allow("").required(),
2468
+ name: Joi.string().allow("").required(),
2469
+ address_type: Joi.string().allow("").allow(null),
2470
+ address: Joi.string().allow("").required(),
2471
+ email: Joi.string().allow(""),
2472
+ city: Joi.string().allow("").required(),
2473
+ tags: Joi.array().items(Joi.any()),
2579
2474
  });
2580
2475
  }
2581
2476
 
2582
- /** @returns {RefundDetailsSerializer} */
2583
- static RefundDetailsSerializer() {
2477
+ /** @returns {PaymentSessionDetail} */
2478
+ static PaymentSessionDetail() {
2584
2479
  return Joi.object({
2480
+ payment_id: Joi.string().allow("").required(),
2481
+ mode: Joi.string().allow("").required(),
2585
2482
  amount: Joi.number().required(),
2586
- created: Joi.string().allow("").required(),
2483
+ success_url: Joi.string().allow("").required(),
2484
+ shipping_address: PaymentPlatformModel.AddressDetail(),
2485
+ amount_captured: Joi.number().required(),
2486
+ amount_refunded: Joi.number(),
2487
+ aggregator_customer_id: Joi.string().allow(""),
2488
+ cancel_url: Joi.string().allow("").required(),
2489
+ payment_methods: Joi.array().items(Joi.any()).required(),
2490
+ created: Joi.string().allow(""),
2491
+ g_user_id: Joi.string().allow("").required(),
2587
2492
  currency: Joi.string().allow("").required(),
2588
- refund_utr: Joi.string().allow("").required(),
2589
- request_id: Joi.string().allow("").required(),
2493
+ merchant_locale: Joi.string().allow(""),
2494
+ locale: Joi.string().allow(""),
2495
+ aggregator_order_id: Joi.string().allow("").required(),
2496
+ gid: Joi.string().allow("").required(),
2497
+ kind: Joi.string().allow(""),
2498
+ billing_address: PaymentPlatformModel.AddressDetail(),
2499
+ captured: Joi.boolean(),
2500
+ meta: Joi.any(),
2590
2501
  status: Joi.string().allow("").required(),
2591
2502
  });
2592
2503
  }
2593
2504
 
2594
- /** @returns {RefundPriorityRequestSerializer} */
2595
- static RefundPriorityRequestSerializer() {
2505
+ /** @returns {PaymentSessionRequestSerializer} */
2506
+ static PaymentSessionRequestSerializer() {
2596
2507
  return Joi.object({
2597
- apportion: Joi.boolean().required(),
2598
- refund_sources_priority: Joi.array()
2599
- .items(PaymentPlatformModel.RefundSourcesPriority())
2508
+ meta: Joi.any(),
2509
+ gid: Joi.string().allow("").required(),
2510
+ order_details: PaymentPlatformModel.OrderDetail().required(),
2511
+ status: Joi.string().allow("").required(),
2512
+ currency: Joi.string().allow("").required(),
2513
+ payment_details: Joi.array()
2514
+ .items(PaymentPlatformModel.PaymentSessionDetail())
2600
2515
  .required(),
2516
+ total_amount: Joi.number().required(),
2517
+ checksum: Joi.string().allow("").required(),
2601
2518
  });
2602
2519
  }
2603
2520
 
2604
- /** @returns {RefundPriorityResponseSerializer} */
2605
- static RefundPriorityResponseSerializer() {
2521
+ /** @returns {PaymentSessionResponseSerializer} */
2522
+ static PaymentSessionResponseSerializer() {
2606
2523
  return Joi.object({
2607
- apportion: Joi.boolean().required(),
2608
- configuration: Joi.string().allow("").required(),
2609
- message: Joi.string().allow(""),
2610
- refund_sources_priority: Joi.array()
2611
- .items(PaymentPlatformModel.RefundSourcesPriority())
2612
- .required(),
2613
- success: Joi.boolean().required(),
2524
+ gid: Joi.string().allow("").required(),
2525
+ platform_transaction_details: Joi.array().items(Joi.any()).required(),
2526
+ status: Joi.string().allow("").required(),
2527
+ currency: Joi.string().allow("").required(),
2528
+ total_amount: Joi.number().required(),
2614
2529
  });
2615
2530
  }
2616
2531
 
2617
2532
  /** @returns {RefundSessionDetail} */
2618
2533
  static RefundSessionDetail() {
2619
2534
  return Joi.object({
2620
- amount: Joi.number().required(),
2621
- balance_transaction: Joi.string().allow(""),
2622
- created: Joi.string().allow("").required(),
2623
- currency: Joi.string().allow("").required(),
2624
- payment_id: Joi.string().allow("").required(),
2625
- reason: Joi.string().allow(""),
2626
- receipt_number: Joi.string().allow(""),
2627
2535
  refund_utr: Joi.string().allow(""),
2628
2536
  request_id: Joi.string().allow("").required(),
2629
- source_transfer_reversal: Joi.string().allow(""),
2537
+ payment_id: Joi.string().allow("").required(),
2538
+ amount: Joi.number().required(),
2539
+ reason: Joi.string().allow(""),
2630
2540
  status: Joi.string().allow("").required(),
2541
+ created: Joi.string().allow("").required(),
2542
+ source_transfer_reversal: Joi.string().allow(""),
2543
+ receipt_number: Joi.string().allow(""),
2544
+ currency: Joi.string().allow("").required(),
2631
2545
  transfer_reversal: Joi.string().allow(""),
2546
+ balance_transaction: Joi.string().allow(""),
2632
2547
  });
2633
2548
  }
2634
2549
 
2635
2550
  /** @returns {RefundSessionRequestSerializer} */
2636
2551
  static RefundSessionRequestSerializer() {
2637
2552
  return Joi.object({
2638
- currency: Joi.string().allow("").required(),
2639
- error: PaymentPlatformModel.ErrorDescription(),
2640
- gid: Joi.string().allow("").required(),
2641
- message: Joi.string().allow(""),
2642
2553
  meta: Joi.any(),
2643
- payment_details: PaymentPlatformModel.PaymentSessionDetail().required(),
2644
- refund_details: Joi.array().items(
2645
- PaymentPlatformModel.RefundSessionDetail()
2646
- ),
2554
+ gid: Joi.string().allow("").required(),
2647
2555
  status: Joi.string().allow("").required(),
2556
+ currency: Joi.string().allow("").required(),
2557
+ payment_details: PaymentPlatformModel.PaymentSessionDetail().required(),
2648
2558
  total_amount: Joi.number().required(),
2559
+ refund_details: Joi.array()
2560
+ .items(PaymentPlatformModel.RefundSessionDetail())
2561
+ .required(),
2562
+ error: PaymentPlatformModel.ErrorDescription(),
2563
+ message: Joi.string().allow(""),
2564
+ checksum: Joi.string().allow("").required(),
2649
2565
  });
2650
2566
  }
2651
2567
 
2652
2568
  /** @returns {RefundSessionResponseSerializer} */
2653
2569
  static RefundSessionResponseSerializer() {
2654
2570
  return Joi.object({
2655
- currency: Joi.string().allow("").required(),
2656
2571
  gid: Joi.string().allow("").required(),
2657
- platform_refund_details: Joi.array().items(Joi.any()).required(),
2658
2572
  status: Joi.string().allow("").required(),
2573
+ currency: Joi.string().allow("").required(),
2574
+ platform_refund_details: Joi.array().items(Joi.any()).required(),
2659
2575
  total_refund_amount: Joi.number().required(),
2660
2576
  });
2661
2577
  }
2662
2578
 
2579
+ /** @returns {PaymentDetailsSerializer} */
2580
+ static PaymentDetailsSerializer() {
2581
+ return Joi.object({
2582
+ payment_methods: Joi.array().items(Joi.any()).required(),
2583
+ gid: Joi.string().allow("").required(),
2584
+ amount_refunded: Joi.number(),
2585
+ currency: Joi.string().allow("").required(),
2586
+ mode: Joi.string().allow("").required(),
2587
+ merchant_locale: Joi.string().allow(""),
2588
+ meta: Joi.any().allow(null),
2589
+ kind: Joi.string().allow(""),
2590
+ success_url: Joi.string().allow(""),
2591
+ status: Joi.string().allow("").required(),
2592
+ captured: Joi.boolean(),
2593
+ payment_id: Joi.string().allow(""),
2594
+ g_user_id: Joi.string().allow("").required(),
2595
+ locale: Joi.string().allow(""),
2596
+ cancel_url: Joi.string().allow(""),
2597
+ created: Joi.string().allow(""),
2598
+ amount_captured: Joi.number().required(),
2599
+ amount: Joi.number().required(),
2600
+ aggregator_customer_id: Joi.string().allow(""),
2601
+ aggregator_order_id: Joi.string().allow(""),
2602
+ });
2603
+ }
2604
+
2605
+ /** @returns {CartDetailsSerializer} */
2606
+ static CartDetailsSerializer() {
2607
+ return Joi.object({
2608
+ items: Joi.any().required(),
2609
+ articles: Joi.array().items(Joi.any()).required(),
2610
+ cart_value: Joi.number().required(),
2611
+ total_quantity: Joi.number(),
2612
+ });
2613
+ }
2614
+
2615
+ /** @returns {RefundDetailsSerializer} */
2616
+ static RefundDetailsSerializer() {
2617
+ return Joi.object({
2618
+ amount: Joi.number().required(),
2619
+ currency: Joi.string().allow("").required(),
2620
+ request_id: Joi.string().allow("").required(),
2621
+ status: Joi.string().allow("").required(),
2622
+ created: Joi.string().allow("").required(),
2623
+ refund_utr: Joi.string().allow("").required(),
2624
+ });
2625
+ }
2626
+
2627
+ /** @returns {PaymentSessionSerializer} */
2628
+ static PaymentSessionSerializer() {
2629
+ return Joi.object({
2630
+ payment_details: Joi.any().required(),
2631
+ currency: Joi.string().allow("").allow(null),
2632
+ status: Joi.string().allow("").required(),
2633
+ total_amount: Joi.number().required(),
2634
+ gid: Joi.string().allow("").allow(null).required(),
2635
+ cart_details: PaymentPlatformModel.CartDetailsSerializer(),
2636
+ refund_details: Joi.array()
2637
+ .items(PaymentPlatformModel.RefundDetailsSerializer())
2638
+ .required(),
2639
+ });
2640
+ }
2641
+
2663
2642
  /** @returns {RefundSourcesPriority} */
2664
2643
  static RefundSourcesPriority() {
2665
2644
  return Joi.object({
@@ -2669,205 +2648,230 @@ class PaymentPlatformModel {
2669
2648
  });
2670
2649
  }
2671
2650
 
2672
- /** @returns {RepaymentDetailsSerialiserPayAll} */
2673
- static RepaymentDetailsSerialiserPayAll() {
2651
+ /** @returns {RefundPriorityResponseSerializer} */
2652
+ static RefundPriorityResponseSerializer() {
2674
2653
  return Joi.object({
2675
- aggregator_order_id: Joi.string().allow("").required(),
2676
- aggregator_transaction_id: Joi.string().allow("").required(),
2677
- extension_order_id: Joi.string().allow("").allow(null).required(),
2678
- shipment_details: Joi.array().items(
2679
- PaymentPlatformModel.RepaymentRequestDetails()
2680
- ),
2681
- total_amount: Joi.number().required(),
2654
+ configuration: Joi.string().allow("").required(),
2655
+ success: Joi.boolean().required(),
2656
+ apportion: Joi.boolean().required(),
2657
+ refund_sources_priority: Joi.array()
2658
+ .items(PaymentPlatformModel.RefundSourcesPriority())
2659
+ .required(),
2660
+ message: Joi.string().allow(""),
2682
2661
  });
2683
2662
  }
2684
2663
 
2685
- /** @returns {RepaymentRequestDetails} */
2686
- static RepaymentRequestDetails() {
2664
+ /** @returns {RefundPriorityRequestSerializer} */
2665
+ static RefundPriorityRequestSerializer() {
2687
2666
  return Joi.object({
2688
- aggregator: Joi.string().allow("").required(),
2689
- aggregator_order_id: Joi.string().allow("").required(),
2690
- aggregator_transaction_id: Joi.string().allow("").required(),
2691
- amount: Joi.number().required(),
2692
- current_status: Joi.string().allow("").required(),
2693
- fwd_shipment_id: Joi.string().allow("").required(),
2694
- merchant_order_id: Joi.string().allow("").required(),
2695
- outstanding_details_id: Joi.number().required(),
2696
- payment_mode: Joi.string().allow("").required(),
2697
- payment_mode_identifier: Joi.string().allow("").required(),
2667
+ apportion: Joi.boolean().required(),
2668
+ refund_sources_priority: Joi.array()
2669
+ .items(PaymentPlatformModel.RefundSourcesPriority())
2670
+ .required(),
2698
2671
  });
2699
2672
  }
2700
2673
 
2701
- /** @returns {RepaymentResponse} */
2702
- static RepaymentResponse() {
2674
+ /** @returns {MerchantPaymentModeRequest} */
2675
+ static MerchantPaymentModeRequest() {
2703
2676
  return Joi.object({
2704
- data: Joi.any().required(),
2705
- success: Joi.boolean().required(),
2677
+ business_unit: Joi.string().allow("").required(),
2678
+ items: Joi.array().items(Joi.any()).required(),
2679
+ device: Joi.any().required(),
2706
2680
  });
2707
2681
  }
2708
2682
 
2709
- /** @returns {ResendOrCancelPaymentRequest} */
2710
- static ResendOrCancelPaymentRequest() {
2683
+ /** @returns {FromConfig} */
2684
+ static FromConfig() {
2711
2685
  return Joi.object({
2712
- device_id: Joi.string().allow("").allow(null),
2713
- order_id: Joi.string().allow("").required(),
2714
- request_type: Joi.string().allow("").required(),
2686
+ device: Joi.string().allow("").required(),
2687
+ business_unit: Joi.string().allow("").required(),
2715
2688
  });
2716
2689
  }
2717
2690
 
2718
- /** @returns {ResendOrCancelPaymentResponse} */
2719
- static ResendOrCancelPaymentResponse() {
2691
+ /** @returns {ToConfig} */
2692
+ static ToConfig() {
2720
2693
  return Joi.object({
2721
- data: PaymentPlatformModel.LinkStatus().required(),
2722
- success: Joi.boolean().required(),
2694
+ device: Joi.array().items(Joi.any()).required(),
2695
+ business_unit: Joi.string().allow("").required(),
2723
2696
  });
2724
2697
  }
2725
2698
 
2726
- /** @returns {ResendPaymentLinkResponse} */
2727
- static ResendPaymentLinkResponse() {
2699
+ /** @returns {PlatformPaymentModeCopyConfigRequest} */
2700
+ static PlatformPaymentModeCopyConfigRequest() {
2728
2701
  return Joi.object({
2729
- message: Joi.string().allow("").required(),
2730
- polling_timeout: Joi.number().allow(null),
2731
- status_code: Joi.number().required(),
2732
- success: Joi.boolean().required(),
2702
+ from_config: PaymentPlatformModel.FromConfig().required(),
2703
+ to_config: PaymentPlatformModel.ToConfig().required(),
2733
2704
  });
2734
2705
  }
2735
2706
 
2736
- /** @returns {RevokeOAuthToken} */
2737
- static RevokeOAuthToken() {
2707
+ /** @returns {PaymentMethodsMetaOrder} */
2708
+ static PaymentMethodsMetaOrder() {
2738
2709
  return Joi.object({
2739
- message: Joi.string().allow("").required(),
2740
- success: Joi.boolean().required(),
2710
+ payment_identifier: Joi.string().allow("").required(),
2711
+ merchant_code: Joi.string().allow("").required(),
2712
+ payment_gateway: Joi.string().allow("").required(),
2741
2713
  });
2742
2714
  }
2743
2715
 
2744
- /** @returns {RootPaymentMode} */
2745
- static RootPaymentMode() {
2716
+ /** @returns {PaymentOrderMethods} */
2717
+ static PaymentOrderMethods() {
2746
2718
  return Joi.object({
2747
- add_card_enabled: Joi.boolean().allow(null),
2748
- aggregator_name: Joi.string().allow("").allow(null),
2749
- anonymous_enable: Joi.boolean().allow(null),
2750
- display_name: Joi.string().allow("").required(),
2751
- display_priority: Joi.number().required(),
2752
- is_pay_by_card_pl: Joi.boolean().allow(null),
2753
- list: Joi.array().items(PaymentPlatformModel.PaymentModeList()),
2719
+ amount: Joi.number().required(),
2720
+ payment: Joi.string().allow(""),
2721
+ mode: Joi.string().allow("").required(),
2722
+ meta: PaymentPlatformModel.PaymentMethodsMetaOrder().required(),
2754
2723
  name: Joi.string().allow("").required(),
2755
- save_card: Joi.boolean().allow(null),
2756
2724
  });
2757
2725
  }
2758
2726
 
2759
- /** @returns {SaveSubscriptionSetupIntentRequest} */
2760
- static SaveSubscriptionSetupIntentRequest() {
2727
+ /** @returns {PaymentOrderRequest} */
2728
+ static PaymentOrderRequest() {
2761
2729
  return Joi.object({
2762
- unique_external_id: Joi.string().allow("").required(),
2730
+ order_id: Joi.string().allow("").required(),
2731
+ payment_methods: Joi.array().items(
2732
+ PaymentPlatformModel.PaymentOrderMethods()
2733
+ ),
2734
+ shipment_id: Joi.string().allow(""),
2763
2735
  });
2764
2736
  }
2765
2737
 
2766
- /** @returns {SaveSubscriptionSetupIntentResponse} */
2767
- static SaveSubscriptionSetupIntentResponse() {
2738
+ /** @returns {PaymentOrderData} */
2739
+ static PaymentOrderData() {
2768
2740
  return Joi.object({
2769
- data: Joi.any().required(),
2741
+ contact: Joi.string().allow("").allow(null),
2742
+ aggregator: Joi.string().allow("").allow(null),
2743
+ amount: Joi.number().allow(null),
2744
+ customer_id: Joi.string().allow("").allow(null),
2745
+ currency: Joi.string().allow("").allow(null),
2746
+ email: Joi.string().allow("").allow(null),
2747
+ callback_url: Joi.string().allow("").allow(null),
2748
+ order_id: Joi.string().allow("").allow(null),
2749
+ method: Joi.string().allow("").allow(null),
2750
+ merchant_order_id: Joi.string().allow("").allow(null),
2751
+ });
2752
+ }
2753
+
2754
+ /** @returns {PaymentOrderResponse} */
2755
+ static PaymentOrderResponse() {
2756
+ return Joi.object({
2757
+ message: Joi.string().allow("").required(),
2770
2758
  success: Joi.boolean().required(),
2759
+ payment_confirm_url: Joi.string().allow("").allow(null),
2760
+ callback_url: Joi.string().allow("").allow(null),
2761
+ status_code: Joi.number().required(),
2762
+ order_id: Joi.string().allow("").allow(null),
2763
+ data: PaymentPlatformModel.PaymentOrderData(),
2771
2764
  });
2772
2765
  }
2773
2766
 
2774
- /** @returns {SetCODForUserRequest} */
2775
- static SetCODForUserRequest() {
2767
+ /** @returns {AggregatorVersionItemSchema} */
2768
+ static AggregatorVersionItemSchema() {
2776
2769
  return Joi.object({
2777
- is_active: Joi.boolean().required(),
2778
- merchant_user_id: Joi.string().allow("").required(),
2779
- mobileno: Joi.string().allow("").required(),
2770
+ is_equal_to: Joi.string().allow(""),
2771
+ is_less_than: Joi.string().allow(""),
2772
+ is_greater_than: Joi.string().allow(""),
2780
2773
  });
2781
2774
  }
2782
2775
 
2783
- /** @returns {SetCODOptionResponse} */
2784
- static SetCODOptionResponse() {
2776
+ /** @returns {AggregatorVersionResponse} */
2777
+ static AggregatorVersionResponse() {
2785
2778
  return Joi.object({
2786
2779
  message: Joi.string().allow("").required(),
2787
2780
  success: Joi.boolean().required(),
2781
+ items: PaymentPlatformModel.AggregatorVersionItemSchema(),
2788
2782
  });
2789
2783
  }
2790
2784
 
2791
- /** @returns {SplitObject} */
2792
- static SplitObject() {
2785
+ /** @returns {AggregatorVersionRequestSchema} */
2786
+ static AggregatorVersionRequestSchema() {
2793
2787
  return Joi.object({
2794
- amount_remaining: Joi.number().allow(null),
2795
- splits_remaining: Joi.number().allow(null),
2796
- total_number_of_splits: Joi.number().allow(null),
2788
+ is_equal_to: Joi.string().allow(""),
2789
+ is_less_than: Joi.string().allow(""),
2790
+ is_greater_than: Joi.string().allow(""),
2797
2791
  });
2798
2792
  }
2799
2793
 
2800
- /** @returns {StatisticsData} */
2801
- static StatisticsData() {
2794
+ /** @returns {AggregatorControlRequest} */
2795
+ static AggregatorControlRequest() {
2802
2796
  return Joi.object({
2803
- active_device_count: Joi.number().required(),
2804
- inactive_device_count: Joi.number().required(),
2797
+ business_unit: Joi.string().allow(""),
2798
+ items: Joi.array().items(Joi.any()),
2799
+ device: Joi.string().allow(""),
2800
+ version: PaymentPlatformModel.AggregatorVersionRequestSchema(),
2805
2801
  });
2806
2802
  }
2807
2803
 
2808
- /** @returns {SubscriptionConfigResponse} */
2809
- static SubscriptionConfigResponse() {
2804
+ /** @returns {PaymentModeCustomConfigSchema} */
2805
+ static PaymentModeCustomConfigSchema() {
2810
2806
  return Joi.object({
2811
- aggregator: Joi.string().allow("").required(),
2812
- config: Joi.any().required(),
2813
- success: Joi.boolean().required(),
2807
+ display_name: Joi.string().allow("").required(),
2808
+ business_unit: Joi.string().allow("").required(),
2809
+ custom_config: PaymentPlatformModel.PaymentCustomConfigDetailsSchema().required(),
2814
2810
  });
2815
2811
  }
2816
2812
 
2817
- /** @returns {SubscriptionPaymentMethodResponse} */
2818
- static SubscriptionPaymentMethodResponse() {
2813
+ /** @returns {PaymentCustomConfigDetailsSchema} */
2814
+ static PaymentCustomConfigDetailsSchema() {
2819
2815
  return Joi.object({
2820
- data: Joi.array().items(Joi.any()).required(),
2821
- success: Joi.boolean().required(),
2816
+ customer: PaymentPlatformModel.PaymentCustomConfigCustomerSchema().required(),
2817
+ payment_mode: PaymentPlatformModel.PaymentCustomConfigModeSchema().required(),
2818
+ min_order_value: Joi.number().required(),
2822
2819
  });
2823
2820
  }
2824
2821
 
2825
- /** @returns {ToConfig} */
2826
- static ToConfig() {
2822
+ /** @returns {PaymentCustomConfigCustomerSchema} */
2823
+ static PaymentCustomConfigCustomerSchema() {
2827
2824
  return Joi.object({
2828
- business_unit: Joi.string().allow("").required(),
2829
- device: Joi.array().items(Joi.any()).required(),
2825
+ restriction: Joi.string().allow("").required(),
2826
+ groups: Joi.array().items(Joi.number()),
2827
+ types: Joi.array().items(Joi.string().allow("")),
2830
2828
  });
2831
2829
  }
2832
2830
 
2833
- /** @returns {UpdatePayoutRequest} */
2834
- static UpdatePayoutRequest() {
2831
+ /** @returns {PaymentCustomConfigModeSchema} */
2832
+ static PaymentCustomConfigModeSchema() {
2835
2833
  return Joi.object({
2836
- is_active: Joi.boolean().required(),
2837
- is_default: Joi.boolean().required(),
2838
- unique_external_id: Joi.string().allow("").required(),
2834
+ available: Joi.boolean().required(),
2835
+ pre_order: Joi.array().items(Joi.string().allow("")),
2836
+ post_order: Joi.array().items(Joi.string().allow("")),
2839
2837
  });
2840
2838
  }
2841
2839
 
2842
- /** @returns {UpdatePayoutResponse} */
2843
- static UpdatePayoutResponse() {
2840
+ /** @returns {PaymentCustomConfigDetailsRequestSchema} */
2841
+ static PaymentCustomConfigDetailsRequestSchema() {
2844
2842
  return Joi.object({
2845
- is_active: Joi.boolean().required(),
2846
- is_default: Joi.boolean().required(),
2847
- success: Joi.boolean().required(),
2843
+ customer: PaymentPlatformModel.PaymentCustomConfigCustomerRequestSchema().required(),
2844
+ payment_mode: PaymentPlatformModel.PaymentCustomConfigModeSchema().required(),
2845
+ min_order_value: Joi.number().required(),
2848
2846
  });
2849
2847
  }
2850
2848
 
2851
- /** @returns {ValidateCustomerRequest} */
2852
- static ValidateCustomerRequest() {
2849
+ /** @returns {PaymentCustomConfigCustomerRequestSchema} */
2850
+ static PaymentCustomConfigCustomerRequestSchema() {
2853
2851
  return Joi.object({
2854
- aggregator: Joi.string().allow("").required(),
2855
- billing_address: Joi.any(),
2856
- delivery_address: Joi.any(),
2857
- merchant_params: Joi.any(),
2858
- order_items: Joi.array().items(Joi.any()),
2859
- payload: Joi.string().allow("").allow(null),
2860
- phone_number: Joi.string().allow("").required(),
2861
- transaction_amount_in_paise: Joi.number().required(),
2852
+ restriction: Joi.string().allow("").required(),
2853
+ groups: Joi.array().items(Joi.number()),
2862
2854
  });
2863
2855
  }
2864
2856
 
2865
- /** @returns {ValidateCustomerResponse} */
2866
- static ValidateCustomerResponse() {
2857
+ /** @returns {PaymentCustomConfigRequestSchema} */
2858
+ static PaymentCustomConfigRequestSchema() {
2859
+ return Joi.object({
2860
+ business_unit: Joi.string().allow("").required(),
2861
+ items: Joi.array()
2862
+ .items(PaymentPlatformModel.PaymentCustomConfigDetailsRequestSchema())
2863
+ .required(),
2864
+ });
2865
+ }
2866
+
2867
+ /** @returns {PaymentCustomConfigResponseSchema} */
2868
+ static PaymentCustomConfigResponseSchema() {
2867
2869
  return Joi.object({
2868
- data: Joi.any().required(),
2869
- message: Joi.string().allow("").required(),
2870
2870
  success: Joi.boolean().required(),
2871
+ message: Joi.string().allow("").required(),
2872
+ items: Joi.array()
2873
+ .items(PaymentPlatformModel.PaymentModeCustomConfigSchema())
2874
+ .required(),
2871
2875
  });
2872
2876
  }
2873
2877
  }