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

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