pcp-server-ruby-sdk 1.12.0 → 1.14.0

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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/api-definition.yaml +693 -40
  5. data/lib/PCP-server-Ruby-SDK/endpoints/pay_by_link_api_client.rb +33 -0
  6. data/lib/PCP-server-Ruby-SDK/endpoints/payment_intent_api_client.rb +37 -0
  7. data/lib/PCP-server-Ruby-SDK/models/address.rb +9 -237
  8. data/lib/PCP-server-Ruby-SDK/models/address_personal.rb +10 -246
  9. data/lib/PCP-server-Ruby-SDK/models/amount_of_money.rb +4 -195
  10. data/lib/PCP-server-Ruby-SDK/models/api_error.rb +27 -232
  11. data/lib/PCP-server-Ruby-SDK/models/apple_payment_data_token_header_information.rb +6 -194
  12. data/lib/PCP-server-Ruby-SDK/models/apple_payment_data_token_information.rb +8 -229
  13. data/lib/PCP-server-Ruby-SDK/models/authentication_token.rb +6 -183
  14. data/lib/PCP-server-Ruby-SDK/models/bank_account_information.rb +11 -207
  15. data/lib/PCP-server-Ruby-SDK/models/bank_payout_method_specific_input.rb +4 -187
  16. data/lib/PCP-server-Ruby-SDK/models/cancel_item.rb +6 -195
  17. data/lib/PCP-server-Ruby-SDK/models/cancel_payment_request.rb +6 -222
  18. data/lib/PCP-server-Ruby-SDK/models/cancel_payment_response.rb +4 -190
  19. data/lib/PCP-server-Ruby-SDK/models/cancel_request.rb +6 -224
  20. data/lib/PCP-server-Ruby-SDK/models/cancel_response.rb +4 -190
  21. data/lib/PCP-server-Ruby-SDK/models/capture_output.rb +9 -214
  22. data/lib/PCP-server-Ruby-SDK/models/capture_payment_request.rb +14 -253
  23. data/lib/PCP-server-Ruby-SDK/models/capture_payment_response.rb +7 -239
  24. data/lib/PCP-server-Ruby-SDK/models/card_fraud_results.rb +29 -184
  25. data/lib/PCP-server-Ruby-SDK/models/card_info.rb +3 -182
  26. data/lib/PCP-server-Ruby-SDK/models/card_payment_details.rb +8 -210
  27. data/lib/PCP-server-Ruby-SDK/models/card_payment_method_specific_input.rb +32 -307
  28. data/lib/PCP-server-Ruby-SDK/models/card_payment_method_specific_output.rb +6 -210
  29. data/lib/PCP-server-Ruby-SDK/models/card_recurrence_details.rb +12 -186
  30. data/lib/PCP-server-Ruby-SDK/models/cart_item_data.rb +10 -0
  31. data/lib/PCP-server-Ruby-SDK/models/cart_item_input.rb +5 -198
  32. data/lib/PCP-server-Ruby-SDK/models/cart_item_invoice_data.rb +5 -184
  33. data/lib/PCP-server-Ruby-SDK/models/cart_item_order_status.rb +4 -213
  34. data/lib/PCP-server-Ruby-SDK/models/cart_item_patch.rb +5 -200
  35. data/lib/PCP-server-Ruby-SDK/models/cart_item_result.rb +5 -200
  36. data/lib/PCP-server-Ruby-SDK/models/cart_item_supplier_references.rb +6 -195
  37. data/lib/PCP-server-Ruby-SDK/models/checkout_references.rb +4 -192
  38. data/lib/PCP-server-Ruby-SDK/models/checkout_response.rb +15 -319
  39. data/lib/PCP-server-Ruby-SDK/models/checkouts_response.rb +4 -193
  40. data/lib/PCP-server-Ruby-SDK/models/company_information.rb +3 -182
  41. data/lib/PCP-server-Ruby-SDK/models/complete_financing_payment_method_specific_input.rb +12 -202
  42. data/lib/PCP-server-Ruby-SDK/models/complete_order_request.rb +3 -181
  43. data/lib/PCP-server-Ruby-SDK/models/complete_payment_method_specific_input.rb +4 -191
  44. data/lib/PCP-server-Ruby-SDK/models/complete_payment_product840_specific_input.rb +7 -226
  45. data/lib/PCP-server-Ruby-SDK/models/complete_payment_request.rb +6 -209
  46. data/lib/PCP-server-Ruby-SDK/models/complete_payment_response.rb +5 -199
  47. data/lib/PCP-server-Ruby-SDK/models/complete_redirect_payment_method_specific_input.rb +4 -192
  48. data/lib/PCP-server-Ruby-SDK/models/contact_details.rb +4 -191
  49. data/lib/PCP-server-Ruby-SDK/models/create_checkout_request.rb +13 -240
  50. data/lib/PCP-server-Ruby-SDK/models/create_checkout_response.rb +16 -307
  51. data/lib/PCP-server-Ruby-SDK/models/create_commerce_case_response.rb +7 -219
  52. data/lib/PCP-server-Ruby-SDK/models/create_pay_by_link_request.rb +12 -0
  53. data/lib/PCP-server-Ruby-SDK/models/create_pay_by_link_response.rb +13 -0
  54. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent.rb +11 -0
  55. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent_request.rb +13 -0
  56. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent_response.rb +10 -0
  57. data/lib/PCP-server-Ruby-SDK/models/create_payment_response.rb +7 -218
  58. data/lib/PCP-server-Ruby-SDK/models/customer.rb +28 -260
  59. data/lib/PCP-server-Ruby-SDK/models/customer_account.rb +10 -44
  60. data/lib/PCP-server-Ruby-SDK/models/customer_device.rb +8 -209
  61. data/lib/PCP-server-Ruby-SDK/models/deliver_item.rb +6 -195
  62. data/lib/PCP-server-Ruby-SDK/models/deliver_request.rb +10 -246
  63. data/lib/PCP-server-Ruby-SDK/models/deliver_response.rb +4 -191
  64. data/lib/PCP-server-Ruby-SDK/models/delivery_information.rb +3 -185
  65. data/lib/PCP-server-Ruby-SDK/models/error_response.rb +4 -193
  66. data/lib/PCP-server-Ruby-SDK/models/financing_payment_method_specific_input.rb +15 -203
  67. data/lib/PCP-server-Ruby-SDK/models/financing_payment_method_specific_output.rb +10 -196
  68. data/lib/PCP-server-Ruby-SDK/models/fund_distribution.rb +12 -263
  69. data/lib/PCP-server-Ruby-SDK/models/fund_split.rb +5 -205
  70. data/lib/PCP-server-Ruby-SDK/models/fund_split_request.rb +3 -147
  71. data/lib/PCP-server-Ruby-SDK/models/fund_split_response.rb +10 -174
  72. data/lib/PCP-server-Ruby-SDK/models/installment_option.rb +13 -273
  73. data/lib/PCP-server-Ruby-SDK/models/link_information.rb +4 -196
  74. data/lib/PCP-server-Ruby-SDK/models/merchant_action.rb +16 -194
  75. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_method_specific_input.rb +13 -246
  76. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_method_specific_output.rb +7 -219
  77. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_three_dsecure.rb +3 -179
  78. data/lib/PCP-server-Ruby-SDK/models/model_base.rb +147 -0
  79. data/lib/PCP-server-Ruby-SDK/models/order.rb +7 -221
  80. data/lib/PCP-server-Ruby-SDK/models/order_item.rb +6 -197
  81. data/lib/PCP-server-Ruby-SDK/models/order_line_details_input.rb +29 -305
  82. data/lib/PCP-server-Ruby-SDK/models/order_line_details_patch.rb +5 -326
  83. data/lib/PCP-server-Ruby-SDK/models/order_line_details_result.rb +5 -326
  84. data/lib/PCP-server-Ruby-SDK/models/order_request.rb +7 -244
  85. data/lib/PCP-server-Ruby-SDK/models/order_response.rb +4 -192
  86. data/lib/PCP-server-Ruby-SDK/models/patch_checkout_request.rb +8 -228
  87. data/lib/PCP-server-Ruby-SDK/models/patch_commerce_case_request.rb +3 -183
  88. data/lib/PCP-server-Ruby-SDK/models/pause_payment_request.rb +2 -165
  89. data/lib/PCP-server-Ruby-SDK/models/pause_payment_response.rb +3 -186
  90. data/lib/PCP-server-Ruby-SDK/models/pay_link_status_value.rb +20 -0
  91. data/lib/PCP-server-Ruby-SDK/models/payee.rb +6 -204
  92. data/lib/PCP-server-Ruby-SDK/models/payment_creation_output.rb +3 -183
  93. data/lib/PCP-server-Ruby-SDK/models/payment_event.rb +19 -274
  94. data/lib/PCP-server-Ruby-SDK/models/payment_execution.rb +29 -335
  95. data/lib/PCP-server-Ruby-SDK/models/payment_execution_request.rb +4 -191
  96. data/lib/PCP-server-Ruby-SDK/models/payment_execution_specific_input.rb +6 -212
  97. data/lib/PCP-server-Ruby-SDK/models/payment_information_refund_request.rb +7 -205
  98. data/lib/PCP-server-Ruby-SDK/models/payment_information_refund_response.rb +5 -196
  99. data/lib/PCP-server-Ruby-SDK/models/payment_information_request.rb +10 -249
  100. data/lib/PCP-server-Ruby-SDK/models/payment_information_response.rb +34 -314
  101. data/lib/PCP-server-Ruby-SDK/models/payment_instructions.rb +8 -214
  102. data/lib/PCP-server-Ruby-SDK/models/payment_intent_output.rb +13 -0
  103. data/lib/PCP-server-Ruby-SDK/models/payment_intent_response.rb +13 -0
  104. data/lib/PCP-server-Ruby-SDK/models/payment_intent_response_data.rb +12 -0
  105. data/lib/PCP-server-Ruby-SDK/models/payment_link_order.rb +10 -0
  106. data/lib/PCP-server-Ruby-SDK/models/payment_link_specific_input.rb +19 -0
  107. data/lib/PCP-server-Ruby-SDK/models/payment_method_specific_input.rb +9 -261
  108. data/lib/PCP-server-Ruby-SDK/models/payment_method_specific_input_for_intent.rb +9 -0
  109. data/lib/PCP-server-Ruby-SDK/models/payment_output.rb +11 -255
  110. data/lib/PCP-server-Ruby-SDK/models/payment_product302_specific_input.rb +11 -225
  111. data/lib/PCP-server-Ruby-SDK/models/payment_product3391_specific_input.rb +6 -197
  112. data/lib/PCP-server-Ruby-SDK/models/payment_product3391_specific_output.rb +3 -185
  113. data/lib/PCP-server-Ruby-SDK/models/payment_product3392_specific_input.rb +3 -185
  114. data/lib/PCP-server-Ruby-SDK/models/payment_product5002_specific_input.rb +7 -203
  115. data/lib/PCP-server-Ruby-SDK/models/payment_product771_specific_output.rb +3 -183
  116. data/lib/PCP-server-Ruby-SDK/models/payment_product840_customer_account.rb +6 -210
  117. data/lib/PCP-server-Ruby-SDK/models/payment_product840_customer_account_for_intent.rb +12 -0
  118. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output.rb +6 -211
  119. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output_for_intent.rb +12 -0
  120. data/lib/PCP-server-Ruby-SDK/models/payment_references.rb +6 -184
  121. data/lib/PCP-server-Ruby-SDK/models/payment_references_for_payment_intent.rb +11 -0
  122. data/lib/PCP-server-Ruby-SDK/models/payment_references_for_refund.rb +12 -197
  123. data/lib/PCP-server-Ruby-SDK/models/payment_response.rb +6 -234
  124. data/lib/PCP-server-Ruby-SDK/models/payment_status_output.rb +6 -234
  125. data/lib/PCP-server-Ruby-SDK/models/payout_output.rb +5 -205
  126. data/lib/PCP-server-Ruby-SDK/models/payout_response.rb +6 -215
  127. data/lib/PCP-server-Ruby-SDK/models/personal_information.rb +11 -227
  128. data/lib/PCP-server-Ruby-SDK/models/personal_name.rb +5 -201
  129. data/lib/PCP-server-Ruby-SDK/models/positive_amount_of_money.rb +4 -196
  130. data/lib/PCP-server-Ruby-SDK/models/processing_mandate_information.rb +9 -254
  131. data/lib/PCP-server-Ruby-SDK/models/redirect_data.rb +3 -183
  132. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_input.rb +14 -249
  133. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_input_for_intent.rb +12 -0
  134. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output.rb +6 -211
  135. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output_for_create_intent.rb +12 -0
  136. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output_for_intent.rb +10 -0
  137. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product840_specific_input.rb +6 -205
  138. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product840_specific_input_data.rb +10 -0
  139. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product900_specific_input.rb +12 -177
  140. data/lib/PCP-server-Ruby-SDK/models/redirection_data.rb +11 -186
  141. data/lib/PCP-server-Ruby-SDK/models/references.rb +47 -205
  142. data/lib/PCP-server-Ruby-SDK/models/refresh_payment_request.rb +3 -186
  143. data/lib/PCP-server-Ruby-SDK/models/refund_error_response.rb +4 -193
  144. data/lib/PCP-server-Ruby-SDK/models/refund_output.rb +8 -211
  145. data/lib/PCP-server-Ruby-SDK/models/refund_payment_response.rb +7 -242
  146. data/lib/PCP-server-Ruby-SDK/models/refund_request.rb +6 -210
  147. data/lib/PCP-server-Ruby-SDK/models/return_information.rb +4 -194
  148. data/lib/PCP-server-Ruby-SDK/models/return_item.rb +6 -196
  149. data/lib/PCP-server-Ruby-SDK/models/return_request.rb +6 -234
  150. data/lib/PCP-server-Ruby-SDK/models/return_response.rb +4 -191
  151. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_method_specific_input.rb +4 -193
  152. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_method_specific_output.rb +4 -193
  153. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_product771_specific_input.rb +4 -192
  154. data/lib/PCP-server-Ruby-SDK/models/sepa_transfer_payment_product_772_specific_input.rb +3 -186
  155. data/lib/PCP-server-Ruby-SDK/models/shipping.rb +3 -183
  156. data/lib/PCP-server-Ruby-SDK/models/shipping_address.rb +14 -0
  157. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_data.rb +9 -0
  158. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_input.rb +3 -185
  159. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_patch.rb +3 -185
  160. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_result.rb +3 -185
  161. data/lib/PCP-server-Ruby-SDK/models/status_output.rb +21 -264
  162. data/lib/PCP-server-Ruby-SDK/models/three_d_secure_results.rb +6 -226
  163. data/lib/PCP-server-Ruby-SDK/queries/get_checkouts_query.rb +5 -1
  164. data/lib/PCP-server-Ruby-SDK/version.rb +1 -1
  165. data/lib/PCP-server-Ruby-SDK.rb +25 -0
  166. data/package-lock.json +2 -2
  167. data/package.json +1 -1
  168. data/scripts/convert_models_to_model_base.rb +128 -0
  169. data/spec/endpoints/pay_by_link_api_client_spec.rb +38 -0
  170. data/spec/endpoints/payment_information_api_client_spec.rb +9 -2
  171. data/spec/endpoints/payment_intent_api_client_spec.rb +45 -0
  172. data/spec/models/api_definition_conformance_spec.rb +88 -0
  173. data/spec/models/model_base_spec.rb +87 -0
  174. data/spec/models/pay_by_link_models_spec.rb +50 -0
  175. data/spec/models/payment_intent_models_spec.rb +51 -0
  176. data/spec/models/required_field_validation_spec.rb +5 -5
  177. data/spec/queries/get_checkouts_query_spec.rb +15 -0
  178. metadata +45 -10
  179. data/lib/PCP-server-Ruby-SDK/models/action_type.rb +0 -34
  180. data/lib/PCP-server-Ruby-SDK/models/avs_result.rb +0 -52
  181. data/lib/PCP-server-Ruby-SDK/models/business_relation.rb +0 -30
data/api-definition.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  openapi: "3.0.3"
2
2
 
3
3
  info:
4
- version: 1.57.0
4
+ version: 1.65.0
5
5
  title: "Commerce Platform API"
6
6
  description: |
7
7
  RESTful API for the creation of Commerce Cases with Checkouts and the execution of Payments.
@@ -23,8 +23,52 @@ tags:
23
23
  description: Resource for operations on Payment Executions. Requires PAYMENT_EXECUTION as allowedPaymentActions.
24
24
  - name: PaymentInformation
25
25
  description: Resource for operations on Payment Information.
26
+ - name: PaymentIntent
27
+ description: Resource for operations on Payment Intent.
26
28
 
27
29
  paths:
30
+ /v1/{merchantId}/authentication-tokens:
31
+ post:
32
+ summary: Generate a authentication JWT token
33
+ operationId: generateAuthToken
34
+ tags:
35
+ - Authentication
36
+ parameters:
37
+ - name: merchantId
38
+ in: path
39
+ description: The Merchant Id
40
+ required: true
41
+ schema:
42
+ type: string
43
+ - in: header
44
+ name: X-Request-ID
45
+ required: false
46
+ description: Identifier for this request as provided by the client. Will be used
47
+ in all log statements
48
+ schema:
49
+ type: string
50
+ format: uuid
51
+ responses:
52
+ '201':
53
+ description: Successfully generated authentication token
54
+ content:
55
+ application/json:
56
+ schema:
57
+ $ref: '#/components/schemas/AuthenticationToken'
58
+ '400':
59
+ x-nullable: true
60
+ description: Exception when creating DirectAPIKey with unknown or invalid parameters.
61
+ content:
62
+ application/json:
63
+ schema:
64
+ $ref: '#/components/schemas/ErrorResponse'
65
+ '500':
66
+ x-nullable: true
67
+ description: Server error when creating authentication token.
68
+ content:
69
+ application/json:
70
+ schema:
71
+ $ref: '#/components/schemas/ErrorResponse'
28
72
  '/v1/{merchantId}/commerce-cases':
29
73
  post:
30
74
  summary: Create a Commerce Case
@@ -176,7 +220,7 @@ paths:
176
220
  $ref: '#/components/schemas/ErrorResponse'
177
221
  '/v1/{merchantId}/commerce-cases/{commerceCaseId}/checkouts/{checkoutId}/order':
178
222
  post:
179
- summary: Creates an Order that will automatially execute a Payment
223
+ summary: Creates an Order that will automatically execute a Payment
180
224
  description: |
181
225
  This endpoint can be used to create an Order that automatically executes a payment for the respective Checkout.
182
226
  The Order request requires items within the ShoppingCart and can be made for a partial or the entire
@@ -620,6 +664,9 @@ paths:
620
664
  - $ref: '#/components/parameters/companyInformation'
621
665
  - $ref: '#/components/parameters/terminalId'
622
666
  - $ref: '#/components/parameters/reportingToken'
667
+ - $ref: '#/components/parameters/cardAuthorizationId'
668
+ - $ref: '#/components/parameters/receiptNumber'
669
+ - $ref: '#/components/parameters/traceNumber'
623
670
  responses:
624
671
  '200':
625
672
  x-nullable: true
@@ -636,6 +683,57 @@ paths:
636
683
  application/json:
637
684
  schema:
638
685
  $ref: '#/components/schemas/ErrorResponse'
686
+ '/v1/{merchantId}/commerce-cases/{commerceCaseId}/checkouts/{checkoutId}/pay-by-link':
687
+ post:
688
+ summary: "Create a pay-link"
689
+ description: |-
690
+ This endpoint can be used to create a pay-link using which customer can make payment for the check out.
691
+ tags:
692
+ - PaybyLink
693
+ operationId: createPayByLink
694
+ parameters:
695
+ - $ref: '#/components/parameters/merchantIdPath'
696
+ - $ref: '#/components/parameters/commerceCaseIdPath'
697
+ - $ref: '#/components/parameters/checkoutIdPath'
698
+ requestBody:
699
+ required: true
700
+ content:
701
+ application/json:
702
+ schema:
703
+ $ref: '#/components/schemas/CreatePayByLinkRequest'
704
+ responses:
705
+ '201':
706
+ description: |-
707
+ The response contains the details of the created pay-link.
708
+ content:
709
+ application/json:
710
+ schema:
711
+ $ref: '#/components/schemas/CreatePayByLinkResponse'
712
+ '404':
713
+ description: |-
714
+ No matching data found for the given input parameters.
715
+ content:
716
+ application/json:
717
+ schema:
718
+ $ref: '#/components/schemas/ErrorResponse'
719
+ '500':
720
+ description: Internal server exception
721
+ content:
722
+ application/json:
723
+ schema:
724
+ $ref: '#/components/schemas/ErrorResponse'
725
+ '503':
726
+ description: Service unavailable.
727
+ content:
728
+ application/json:
729
+ schema:
730
+ $ref: '#/components/schemas/ErrorResponse'
731
+ '400':
732
+ description: "Data validation errors"
733
+ content:
734
+ application/json:
735
+ schema:
736
+ $ref: '#/components/schemas/ErrorResponse'
639
737
  '/v1/{merchantId}/commerce-cases/{commerceCaseId}/checkouts/{checkoutId}':
640
738
  get:
641
739
  summary: Get Checkout Details
@@ -1473,8 +1571,96 @@ paths:
1473
1571
  schema:
1474
1572
  $ref: '#/components/schemas/RefundErrorResponse'
1475
1573
 
1574
+ '/v1/{merchantId}/payment-intents':
1575
+ post:
1576
+ summary: Create a Payment Intent
1577
+ description: |-
1578
+ This endpoint can be used to create a payment intent for PayPal payment method.
1579
+ tags:
1580
+ - PaymentIntent
1581
+ operationId: createPaymentIntent
1582
+ parameters:
1583
+ - $ref: '#/components/parameters/merchantIdPath'
1584
+ requestBody:
1585
+ required: true
1586
+ content:
1587
+ application/json:
1588
+ schema:
1589
+ $ref: '#/components/schemas/CreatePaymentIntentRequest'
1590
+ responses:
1591
+ '201':
1592
+ x-nullable: true
1593
+ description: The response contains the reference of the created Payment Intent.
1594
+ content:
1595
+ application/json:
1596
+ schema:
1597
+ $ref: '#/components/schemas/CreatePaymentIntentResponse'
1598
+ '400':
1599
+ x-nullable: true
1600
+ description: Incorrect input data
1601
+ content:
1602
+ application/json:
1603
+ schema:
1604
+ $ref: '#/components/schemas/ErrorResponse'
1605
+ '404':
1606
+ x-nullable: true
1607
+ description: Payment not found
1608
+ content:
1609
+ application/json:
1610
+ schema:
1611
+ $ref: '#/components/schemas/ErrorResponse'
1612
+ '409':
1613
+ x-nullable: true
1614
+ description: Creation of Payment Information is not allowed
1615
+ content:
1616
+ application/json:
1617
+ schema:
1618
+ $ref: '#/components/schemas/ErrorResponse'
1619
+ '500':
1620
+ x-nullable: true
1621
+ description: Internal server exception
1622
+ content:
1623
+ application/json:
1624
+ schema:
1625
+ $ref: '#/components/schemas/ErrorResponse'
1626
+ '/v1/{merchantId}/payment-intents/{paymentIntentId}':
1627
+ get:
1628
+ summary: Get a Payment Intent
1629
+ description: |-
1630
+ This endpoint can be used to get a paymentIntent.
1631
+ tags:
1632
+ - PaymentIntent
1633
+ operationId: getPaymentIntent
1634
+ parameters:
1635
+ - $ref: '#/components/parameters/merchantIdPath'
1636
+ - $ref: '#/components/parameters/paymentIntentId'
1637
+ responses:
1638
+ '200':
1639
+ x-nullable: true
1640
+ description: The response contains the reference of the created Payment Intent.
1641
+ content:
1642
+ application/json:
1643
+ schema:
1644
+ $ref: '#/components/schemas/PaymentIntentResponse'
1645
+ '404':
1646
+ x-nullable: true
1647
+ description: Payment not found
1648
+ content:
1649
+ application/json:
1650
+ schema:
1651
+ $ref: '#/components/schemas/ErrorResponse'
1652
+
1476
1653
  components:
1477
1654
  parameters:
1655
+ cardAuthorizationId:
1656
+ in: query
1657
+ name: cardAuthorizationId
1658
+ description: |-
1659
+ Filter your results by the authorization ID assigned to the card payment.
1660
+ schema:
1661
+ type: string
1662
+ maxLength: 8
1663
+ example: 260042
1478
1664
  checkoutIdPath:
1479
1665
  in: path
1480
1666
  name: checkoutId
@@ -1749,6 +1935,14 @@ components:
1749
1935
  schema:
1750
1936
  type: string
1751
1937
  format: UUID
1938
+ paymentIntentId:
1939
+ in: path
1940
+ name: paymentIntentId
1941
+ description: Unique identifier of a paymentIntent
1942
+ required: true
1943
+ schema:
1944
+ type: string
1945
+ format: UUID
1752
1946
  paymentReference:
1753
1947
  in: query
1754
1948
  name: paymentReference
@@ -1764,6 +1958,15 @@ components:
1764
1958
  type: string
1765
1959
  x-trim-at: 20
1766
1960
  example: '+1234567890'
1961
+ receiptNumber:
1962
+ in: query
1963
+ name: receiptNumber
1964
+ description: |-
1965
+ Filter your results by the receipt number set by the terminal.
1966
+ schema:
1967
+ type: string
1968
+ maxLength: 40
1969
+ example: 0321
1767
1970
  reportingToken:
1768
1971
  in: query
1769
1972
  name: reportingToken
@@ -1895,6 +2098,15 @@ components:
1895
2098
  maximum: 999999999999
1896
2099
  minimum: 0
1897
2100
  example: 1000
2101
+ traceNumber:
2102
+ in: query
2103
+ name: traceNumber
2104
+ description: |-
2105
+ Filter your results by the trace number set by the terminal.
2106
+ schema:
2107
+ type: string
2108
+ maxLength: 40
2109
+ example: 012345
1898
2110
  schemas:
1899
2111
  Address:
1900
2112
  type: object
@@ -1986,6 +2198,15 @@ components:
1986
2198
  maxLength: 10
1987
2199
  name:
1988
2200
  $ref: '#/components/schemas/PersonalName'
2201
+ AddressSelectionAtPayPal:
2202
+ type: boolean
2203
+ description: |-
2204
+ Indicates whether to use PayPal Express Checkout Shortcut.
2205
+ * true = When shortcut is enabled, the consumer can select a shipping address during PayPal checkout.
2206
+ * false = When shortcut is disabled, the consumer cannot change the shipping address.
2207
+ Default value is false.
2208
+ Please note that this field is ignored when order.additionalInput.typeInformation.purchaseType is set to
2209
+ "digital"
1989
2210
  AllowedPaymentActions:
1990
2211
  type: string
1991
2212
  enum:
@@ -2123,6 +2344,7 @@ components:
2123
2344
  * SALE - The payment creation results in an authorization that is already captured at the moment of approval.
2124
2345
 
2125
2346
  If the parameter is not provided in the request, the default value will be PRE_AUTHORIZATION
2347
+ default: PRE_AUTHORIZATION
2126
2348
  BankAccountInformation:
2127
2349
  type: object
2128
2350
  description: Object containing information about the end customer's bank account.
@@ -2254,6 +2476,8 @@ components:
2254
2476
  type: array
2255
2477
  items:
2256
2478
  $ref: '#/components/schemas/CancelItem'
2479
+ fundSplit:
2480
+ $ref: '#/components/schemas/FundSplit'
2257
2481
  CancelResponse:
2258
2482
  type: object
2259
2483
  properties:
@@ -2563,7 +2787,7 @@ components:
2563
2787
  enum:
2564
2788
  - first
2565
2789
  - recurring
2566
- CartItemInput:
2790
+ CartItemData:
2567
2791
  type: object
2568
2792
  description: This object contains information of all items in the cart.
2569
2793
  If a cart item is provided, the productPrice and quantity is required.
@@ -2573,6 +2797,14 @@ components:
2573
2797
  $ref: '#/components/schemas/CartItemInvoiceData'
2574
2798
  orderLineDetails:
2575
2799
  $ref: '#/components/schemas/OrderLineDetailsInput'
2800
+ CartItemInput:
2801
+ type: object
2802
+ description: This object contains information of all items in the cart.
2803
+ If a cart item is provided, the productPrice and quantity is required.
2804
+ allOf:
2805
+ - $ref: '#/components/schemas/CartItemData'
2806
+ additionalProperties: false
2807
+ properties:
2576
2808
  supplierReferences:
2577
2809
  $ref: '#/components/schemas/CartItemSupplierReferences'
2578
2810
  CartItemInvoiceData:
@@ -2998,6 +3230,41 @@ components:
2998
3230
  type: string
2999
3231
  format: UUID
3000
3232
  example: "4f0c512e-f12c-11ec-8ea0-0242ac120002"
3233
+ CreatePaymentIntent:
3234
+ type: object
3235
+ description: |
3236
+ Object containing payment intent details.
3237
+ additionalProperties: false
3238
+ properties:
3239
+ amountOfMoney:
3240
+ $ref: '#/components/schemas/AmountOfMoney'
3241
+ references:
3242
+ $ref: '#/components/schemas/PaymentReferencesForPaymentIntent'
3243
+ shoppingCart:
3244
+ $ref: '#/components/schemas/ShoppingCartData'
3245
+ required:
3246
+ - references
3247
+ CreatePaymentIntentRequest:
3248
+ title: PaymentIntentRequest
3249
+ type: object
3250
+ description: |
3251
+ Object containing details for creating a payment intent.
3252
+ allOf:
3253
+ - $ref: '#/components/schemas/CreatePaymentIntent'
3254
+ additionalProperties: false
3255
+ properties:
3256
+ paymentMethodSpecificInput:
3257
+ $ref: '#/components/schemas/PaymentMethodSpecificInputForIntent'
3258
+ CreatePaymentIntentResponse:
3259
+ title: PaymentIntentResponse
3260
+ type: object
3261
+ description: Object containing details on the created payment intent.
3262
+ additionalProperties: false
3263
+ properties:
3264
+ shoppingCart:
3265
+ $ref: '#/components/schemas/ShoppingCartData'
3266
+ paymentIntentOutput:
3267
+ $ref: '#/components/schemas/PaymentIntentOutput'
3001
3268
  CreationDateTime:
3002
3269
  type: string
3003
3270
  format: date-time
@@ -3288,6 +3555,14 @@ components:
3288
3555
  $ref: '#/components/schemas/PaymentProduct3391SpecificOutput'
3289
3556
  paymentInstructions:
3290
3557
  $ref: '#/components/schemas/PaymentInstructions'
3558
+ FraudNetId:
3559
+ type: string
3560
+ format: UUID
3561
+ description: |-
3562
+ A unique ID determined by the merchant, to link a Paypal transaction to a FraudNet PayPal risk session. Only applicable to
3563
+ customer-initiated transactions, when the FraudNet SDK is used, and to be passed in the API request the same tracking ID value
3564
+ (FraudNet Session Identifier).
3565
+ example: 686e5823-1ffd-42f7-9ba3-42b41b57d8dd
3291
3566
  FundDistribution:
3292
3567
  type: object
3293
3568
  description: Instructions for distributing funds to multiple sellers or partners in a marketplace context.
@@ -3459,6 +3734,15 @@ components:
3459
3734
  - nominalInterestRate
3460
3735
  - numberOfPayments
3461
3736
  - totalAmount
3737
+ JavaScriptSdkFlow:
3738
+ type: boolean
3739
+ description: |-
3740
+ Indicates whether the PayPal JavaScript SDK flow is used.
3741
+ * true = The PayPal JavaScript SDK flow is used.
3742
+ * false = The PayPal JavaScript SDK flow is not used.
3743
+ Default value is false.
3744
+ default: false
3745
+ example: true
3462
3746
  LinkInformation:
3463
3747
  type: object
3464
3748
  description: URL and content type information for an web resource.
@@ -4017,6 +4301,10 @@ components:
4017
4301
  $ref: '#/components/schemas/FundSplit'
4018
4302
  required:
4019
4303
  - paymentReferences
4304
+ PaymentId:
4305
+ description: reference to the paymentProcess.
4306
+ type: string
4307
+ example: "PP2000A6CC1A9R00"
4020
4308
  PaymentInformationRefundRequest:
4021
4309
  type: object
4022
4310
  description: |
@@ -4123,6 +4411,18 @@ components:
4123
4411
  (e.g. card present payments, cash payments or payments processed by other payment providers).
4124
4412
  maxLength: 40
4125
4413
  example: 6a891660b8cf16edaeb26f87d86f0b2f
4414
+ traceNumber:
4415
+ type: string
4416
+ description: Tracenumber that is incremented by the terminal by 1 for every transaction request.
4417
+ It is printed on the customer receipt. Usually it has an upper limit and restarts by 0 or 1 if the upper limit is reached.
4418
+ maxLength: 40
4419
+ example: "012345"
4420
+ receiptNumber:
4421
+ type: string
4422
+ description: Receiptnumber, that is incremented by 1 by the terminal for every successful financial transaction.
4423
+ It is printed on the customer receipt. Usually it has an upper limit and restarts by 0 or 1 if the upper limit is reached.
4424
+ maxLength: 40
4425
+ example: "0321"
4126
4426
  creationDateTime:
4127
4427
  type: string
4128
4428
  format: date-time
@@ -4175,6 +4475,42 @@ components:
4175
4475
  type: string
4176
4476
  description: Status, usually describing the status of the invoice if paid, overdue, open...
4177
4477
  description: Object containing information on payment instructions details (e.g. on the invoice payments)
4478
+ PaymentIntentId:
4479
+ description: reference to the paymentIntent.
4480
+ type: string
4481
+ format: UUID
4482
+ example: "a54749ff-df7c-4686-bf33-fe76d3cf4502"
4483
+ PaymentIntentOutput:
4484
+ type: object
4485
+ description: Object containing details on the created payment intent.
4486
+ allOf:
4487
+ - $ref: '#/components/schemas/PaymentIntentResponseData'
4488
+ additionalProperties: false
4489
+ properties:
4490
+ redirectPaymentMethodSpecificOutput:
4491
+ $ref: '#/components/schemas/RedirectPaymentMethodSpecificOutputForCreateIntent'
4492
+ PaymentIntentResponse:
4493
+ type: object
4494
+ description: Object containing details for payment intent.
4495
+ allOf:
4496
+ - $ref: '#/components/schemas/PaymentIntentResponseData'
4497
+ additionalProperties: false
4498
+ properties:
4499
+ redirectPaymentMethodSpecificOutput:
4500
+ $ref: '#/components/schemas/RedirectPaymentMethodSpecificOutputForIntent'
4501
+ PaymentIntentResponseData:
4502
+ type: object
4503
+ description: Object containing details for payment intent.
4504
+ additionalProperties: false
4505
+ properties:
4506
+ amountOfMoney:
4507
+ $ref: '#/components/schemas/AmountOfMoney'
4508
+ references:
4509
+ $ref: '#/components/schemas/PaymentReferences'
4510
+ paymentIntentId:
4511
+ $ref: '#/components/schemas/PaymentIntentId'
4512
+ paymentId:
4513
+ $ref: '#/components/schemas/PaymentId'
4178
4514
  PaymentMethodSpecificInput:
4179
4515
  type: object
4180
4516
  description: |
@@ -4197,6 +4533,15 @@ components:
4197
4533
  $ref: '#/components/schemas/CustomerDevice'
4198
4534
  paymentChannel:
4199
4535
  $ref: '#/components/schemas/PaymentChannel'
4536
+ PaymentMethodSpecificInputForIntent:
4537
+ title: paymentMethodSpecificInput
4538
+ type: object
4539
+ description: |
4540
+ Input for the payment for a payment intent method.
4541
+ additionalProperties: false
4542
+ properties:
4543
+ redirectPaymentMethodSpecificInput:
4544
+ $ref: '#/components/schemas/RedirectPaymentMethodSpecificInputForIntent'
4200
4545
  PaymentOutput:
4201
4546
  type: object
4202
4547
  description: |
@@ -4330,6 +4675,28 @@ components:
4330
4675
  type: string
4331
4676
  description: Surname of the PayPal account holder
4332
4677
  example: Doe
4678
+ PaymentProduct840CustomerAccountForIntent:
4679
+ type: object
4680
+ description: |
4681
+ Object containing the details of the PayPal account.
4682
+ additionalProperties: false
4683
+ properties:
4684
+ companyName:
4685
+ type: string
4686
+ description: Name of the company in case the PayPal account is owned by a business
4687
+ example: Customer Company Name
4688
+ firstName:
4689
+ type: string
4690
+ description: First name of the PayPal account holder
4691
+ example: John
4692
+ surname:
4693
+ type: string
4694
+ description: Surname of the PayPal account holder
4695
+ example: Doe
4696
+ emailAddress:
4697
+ type: string
4698
+ description: Email address of the customer
4699
+ maxLength: 70
4333
4700
  PaymentProduct840SpecificOutput:
4334
4701
  type: object
4335
4702
  description: |
@@ -4340,15 +4707,24 @@ components:
4340
4707
  $ref: '#/components/schemas/Address'
4341
4708
  customerAccount:
4342
4709
  $ref: '#/components/schemas/PaymentProduct840CustomerAccount'
4710
+ payPalTransactionId:
4711
+ $ref: '#/components/schemas/PayPalTransactionId'
4343
4712
  shippingAddress:
4344
4713
  $ref: '#/components/schemas/Address'
4714
+ PaymentProduct840SpecificOutputForIntent:
4715
+ type: object
4716
+ description: |
4717
+ PayPal (payment product 840) specific details.
4718
+ additionalProperties: false
4719
+ properties:
4720
+ billingAddress:
4721
+ $ref: '#/components/schemas/Address'
4722
+ customerAccount:
4723
+ $ref: '#/components/schemas/PaymentProduct840CustomerAccountForIntent'
4345
4724
  payPalTransactionId:
4346
- type: string
4347
- maxLength: 20
4348
- description: |-
4349
- A 17-character unique identifier of the PayPal transaction. This identifier is used to identify the transaction in the
4350
- PayPal system and needed for the PayPal Javascript SDK flow.
4351
- example: 9A1234567890123
4725
+ $ref: '#/components/schemas/PayPalTransactionId'
4726
+ shippingAddress:
4727
+ $ref: '#/components/schemas/ShippingAddress'
4352
4728
  PaymentProductId:
4353
4729
  type: integer
4354
4730
  format: int32
@@ -4370,6 +4746,15 @@ components:
4370
4746
  If provided for captures or refunds, it must be unique per Checkout.
4371
4747
  maxLength: 20
4372
4748
  example: your-order-6372
4749
+ PaymentReferencesForPaymentIntent:
4750
+ description: |-
4751
+ Object that holds all reference properties that are linked to this transaction.
4752
+ Extends the standard PaymentReferences by making merchantReference mandatory when creating a payment intent.
4753
+ allOf:
4754
+ - $ref: '#/components/schemas/PaymentReferences'
4755
+ - type: object
4756
+ required:
4757
+ - merchantReference
4373
4758
  PaymentReferencesForRefund:
4374
4759
  type: object
4375
4760
  description: |-
@@ -4468,6 +4853,13 @@ components:
4468
4853
  type: string
4469
4854
  description: Unique payment transaction identifier of the payment gateway.
4470
4855
  example: PP1AA7KKLSFB9MBG
4856
+ PayPalTransactionId:
4857
+ type: string
4858
+ maxLength: 20
4859
+ description: |-
4860
+ A 17-character unique identifier of the PayPal transaction. This identifier is used to identify the transaction in the
4861
+ PayPal system and needed for the PayPal Javascript SDK flow.
4862
+ example: 9A1234567890123
4471
4863
  PersonalInformation:
4472
4864
  type: object
4473
4865
  description: Object containing personal information like name, date of birth and gender.
@@ -4622,14 +5014,7 @@ components:
4622
5014
  additionalProperties: false
4623
5015
  properties:
4624
5016
  requiresApproval:
4625
- type: boolean
4626
- description: |-
4627
- * true = the payment requires approval before the funds will be captured using the Approve payment or
4628
- Capture payment API
4629
- * false = the payment does not require approval, and the funds will be captured automatically
4630
-
4631
- If the parameter is not provided in the request, the default value will be true
4632
- default: true
5017
+ $ref: '#/components/schemas/RequiresApproval'
4633
5018
  paymentProcessingToken:
4634
5019
  type: string
4635
5020
  description: ID of the token to use to create the payment.
@@ -4657,6 +5042,21 @@ components:
4657
5042
  $ref: '#/components/schemas/RedirectPaymentProduct900SpecificInput'
4658
5043
  redirectionData:
4659
5044
  $ref: '#/components/schemas/RedirectionData'
5045
+ RedirectPaymentMethodSpecificInputForIntent:
5046
+ title: redirectPaymentMethodSpecificInput
5047
+ type: object
5048
+ description: |-
5049
+ Object containing the specific input details for payment intents that involve redirects to PayPay to complete
5050
+ additionalProperties: false
5051
+ properties:
5052
+ requiresApproval:
5053
+ $ref: '#/components/schemas/RequiresApproval'
5054
+ paymentProductId:
5055
+ $ref: '#/components/schemas/PaymentProductId'
5056
+ paymentProduct840SpecificInput:
5057
+ $ref: '#/components/schemas/RedirectPaymentProduct840SpecificInputData'
5058
+ redirectionData:
5059
+ $ref: '#/components/schemas/RedirectionData'
4660
5060
  RedirectPaymentMethodSpecificOutput:
4661
5061
  type: object
4662
5062
  description: |
@@ -4677,36 +5077,54 @@ components:
4677
5077
  description: Token to identify the card in the reporting.
4678
5078
  example: 12a037cc-833d-8b45-8f6f-11c34171f4e1
4679
5079
  maxLength: 40
5080
+ RedirectPaymentMethodSpecificOutputForCreateIntent:
5081
+ title: redirectPaymentMethodSpecificOutput
5082
+ type: object
5083
+ description: |
5084
+ Object containing the redirect payment product details for a created payment intent.
5085
+ additionalProperties: false
5086
+ properties:
5087
+ requiresApproval:
5088
+ $ref: '#/components/schemas/RequiresApproval'
5089
+ paymentProductId:
5090
+ $ref: '#/components/schemas/PaymentProductId'
5091
+ paymentProduct840SpecificOutput:
5092
+ $ref: '#/components/schemas/RedirectPaymentProduct840SpecificInputData'
5093
+ redirectionData:
5094
+ $ref: '#/components/schemas/RedirectionData'
5095
+ RedirectPaymentMethodSpecificOutputForIntent:
5096
+ title: redirectPaymentMethodSpecificOutput
5097
+ type: object
5098
+ description: |
5099
+ Object containing the redirect payment product details for payment intent.
5100
+ additionalProperties: false
5101
+ properties:
5102
+ paymentProductId:
5103
+ $ref: '#/components/schemas/PaymentProductId'
5104
+ paymentProduct840SpecificOutput:
5105
+ $ref: '#/components/schemas/PaymentProduct840SpecificOutputForIntent'
4680
5106
  RedirectPaymentProduct840SpecificInput:
4681
5107
  type: object
4682
5108
  description: Object containing specific input required for PayPal payments (Payment product ID 840)
5109
+ allOf:
5110
+ - $ref: '#/components/schemas/RedirectPaymentProduct840SpecificInputData'
4683
5111
  properties:
4684
- addressSelectionAtPayPal:
4685
- type: boolean
4686
- description: |-
4687
- Indicates whether to use PayPal Express Checkout Shortcut.
4688
- * true = When shortcut is enabled, the consumer can select a shipping address during PayPal checkout.
4689
- * false = When shortcut is disabled, the consumer cannot change the shipping address.
4690
- Default value is false.
4691
- Please note that this field is ignored when order.additionalInput.typeInformation.purchaseType is set to
4692
- "digital"
4693
5112
  fraudNetId:
5113
+ $ref: '#/components/schemas/FraudNetId'
5114
+ paymentId:
4694
5115
  type: string
4695
- format: UUID
4696
- description: |-
4697
- A unique ID determined by the merchant, to link a Paypal transaction to a FraudNet PayPal risk session. Only applicable to
4698
- customer-initiated transactions, when the FraudNet SDK is used, and to be passed in the API request the same tracking ID value
4699
- (FraudNet Session Identifier).
4700
- example: 686e5823-1ffd-42f7-9ba3-42b41b57d8dd
5116
+ description: Unique payment transaction identifier of the payment gateway. Required for PayPal Express to associate the request with the original payment intent.
5117
+ example: '3066019730_1'
5118
+ writeOnly: true
5119
+ RedirectPaymentProduct840SpecificInputData:
5120
+ title: paymentProduct840SpecificInput
5121
+ type: object
5122
+ description: Object containing specific input required for PayPal payments (Payment product ID 840)
5123
+ properties:
5124
+ addressSelectionAtPayPal:
5125
+ $ref: '#/components/schemas/AddressSelectionAtPayPal'
4701
5126
  javaScriptSdkFlow:
4702
- type: boolean
4703
- description: |-
4704
- Indicates whether the PayPal JavaScript SDK flow is used.
4705
- * true = The PayPal JavaScript SDK flow is used.
4706
- * false = The PayPal JavaScript SDK flow is not used.
4707
- Default value is false.
4708
- default: false
4709
- example: true
5127
+ $ref: '#/components/schemas/JavaScriptSdkFlow'
4710
5128
  RedirectPaymentProduct900SpecificInput:
4711
5129
  type: object
4712
5130
  properties:
@@ -4880,6 +5298,14 @@ components:
4880
5298
  $ref: '#/components/schemas/ReturnInformation'
4881
5299
  fundSplit:
4882
5300
  $ref: '#/components/schemas/FundSplit'
5301
+ RequiresApproval:
5302
+ type: boolean
5303
+ description: |-
5304
+ * true = the payment requires approval before the funds will be captured using the Approve payment or Capture payment API
5305
+ * false = the payment does not require approval, and the funds will be captured automatically
5306
+
5307
+ If the parameter is not provided in the request, the default value will be true
5308
+ default: true
4883
5309
  ReturnInformation:
4884
5310
  type: object
4885
5311
  description: |-
@@ -5008,6 +5434,27 @@ components:
5008
5434
  properties:
5009
5435
  address:
5010
5436
  $ref: '#/components/schemas/AddressPersonal'
5437
+ ShippingAddress:
5438
+ type: object
5439
+ description: |
5440
+ Object containing information regarding shipping / delivery
5441
+ allOf:
5442
+ - $ref: '#/components/schemas/AddressPersonal'
5443
+ additionalProperties: false
5444
+ properties:
5445
+ companyName:
5446
+ type: string
5447
+ description: |
5448
+ Company name if needed
5449
+ ShoppingCartData:
5450
+ type: object
5451
+ description: |
5452
+ Shopping cart data, including items and specific amounts.
5453
+ properties:
5454
+ items:
5455
+ type: array
5456
+ items:
5457
+ $ref: '#/components/schemas/CartItemData'
5011
5458
  ShoppingCartInput:
5012
5459
  type: object
5013
5460
  description: |
@@ -5208,3 +5655,209 @@ components:
5208
5655
  - first
5209
5656
  - subsequent
5210
5657
  x-enum-to-string: false
5658
+ CreatePayByLinkRequest:
5659
+ type: object
5660
+ description: Request object for pay-link generation.
5661
+ properties:
5662
+ paymentLinkSpecificInput:
5663
+ $ref: '#/components/schemas/PaymentLinkSpecificInput'
5664
+ orderType:
5665
+ $ref: '#/components/schemas/OrderType'
5666
+ items:
5667
+ type: array
5668
+ items:
5669
+ $ref: '#/components/schemas/OrderItem'
5670
+ orderReferences:
5671
+ $ref: '#/components/schemas/References'
5672
+ required:
5673
+ - paymentLinkSpecificInput
5674
+ - orderType
5675
+ - orderReferences
5676
+ PaymentLinkSpecificInput:
5677
+ type: object
5678
+ description: Object containing the specific input details for generating Pay-link
5679
+ properties:
5680
+ expirationDate:
5681
+ type: string
5682
+ format: date-time
5683
+ description: |-
5684
+ If provided it overwrites 24 h default validity.
5685
+ Date and time in RFC3339 format after which Items (Checkouts or Commerce-Cases, depending on the context) should be included in the request. Accepted formats are:
5686
+ YYYY-MM-DD'T'HH:mm:ss'Z'
5687
+ YYYY-MM-DD'T'HH:mm:ss+XX:XX
5688
+ YYYY-MM-DD'T'HH:mm:ss-XX:XX
5689
+ YYYY-MM-DD'T'HH:mm'Z'
5690
+ YYYY-MM-DD'T'HH:mm+XX:XX
5691
+ YYYY-MM-DD'T'HH:mm-XX:XX
5692
+ All other formats may be ignored by the system.
5693
+ some examples:
5694
+ YYYY-MM-DDThh:mm:ssZ:
5695
+ value: 2022-11-10T13:34:23Z
5696
+ YYYY-MM-DDThh:mm:ss+XX:XX:
5697
+ value: 2022-11-10T14:34:23+01:00
5698
+ authorizationMode:
5699
+ $ref: '#/components/schemas/AuthorizationMode'
5700
+ paymentMethods:
5701
+ type: array
5702
+ items:
5703
+ $ref: '#/components/schemas/PaymentMethodId'
5704
+ description: List of supported Payment product identifiers
5705
+ example: [ 1,2,3,390 ]
5706
+ bnplId:
5707
+ type: string
5708
+ description: Dedicated ID to be known when the page is generated to display the BNPL payment methods in order to create a dedicated identification token.
5709
+ example: 18323
5710
+ returnUrl:
5711
+ type: string
5712
+ format: uri
5713
+ pattern: '^(https?|ftp)://[^\s/$.?#].[^\s]*$'
5714
+ description: |-
5715
+ The URL that the customer is redirect to after the payment flow has finished. You can add any number of key
5716
+ value pairs in the query string that, for instance help you to identify the customer when they return to
5717
+ your site. Please note that we will also append some additional key value pairs that will also help you with
5718
+ this identification process.
5719
+ Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use
5720
+ on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered
5721
+ on the device first.
5722
+ URLs without a protocol will be rejected.
5723
+ maxLength: 2048
5724
+ example: "https://shop.url/orderfinishedetc"
5725
+ logoUrl:
5726
+ type: string
5727
+ format: uri
5728
+ pattern: '^(https?|ftp)://[^\s/$.?#].[^\s]*$'
5729
+ description: To be used If the Merchant wants the customer to see his Logo ( special size need to be defined )
5730
+ maxLength: 2048
5731
+ example: "https://shop.url/orderfinishedetc"
5732
+ autoRedirection:
5733
+ type: boolean
5734
+ example: true
5735
+ description: |-
5736
+ with the cases:
5737
+ If is false and ReturnURl is not present, then no Button is displayed for shopper to come back
5738
+ If is false but ReturnUrl is present then, a button will be displayed with a custom message if user wants to go back to merchant
5739
+ If is True, no button will be displayed, and when payment is completed, user is returned back to a landing page on the merchant side using the returnUrl|
5740
+ termsUrl:
5741
+ type: string
5742
+ format: uri
5743
+ pattern: '^(https?|ftp)://[^\s/$.?#].[^\s]*$'
5744
+ description: |-
5745
+ Url to show the customer terms & conditions content
5746
+ maxLength: 2048
5747
+ example: "https://shop.url/tersmandconditions"
5748
+ retryNumber:
5749
+ type: integer
5750
+ format: int64
5751
+ description: Number of times to retry the back end apis, if not specified by default 3 retries
5752
+ example: 4
5753
+ minimum: 1
5754
+ maximum: 20
5755
+ merchantName:
5756
+ $ref: '#/components/schemas/MerchantName'
5757
+ merchantOrigin:
5758
+ $ref: '#/components/schemas/MerchantOrigin'
5759
+ required:
5760
+ - authorizationMode
5761
+ - paymentMethods
5762
+ PaymentMethodId:
5763
+ type: string
5764
+ description: Payment method identifier used by the payment engine.
5765
+ CreatePayByLinkResponse:
5766
+ type: object
5767
+ description: Object containing details about created Pay-link.
5768
+ additionalProperties: false
5769
+ properties:
5770
+ expirationDate:
5771
+ type: string
5772
+ format: date-time
5773
+ description: |-
5774
+ If provided it overwrites 24 h default validity.
5775
+ Date and time in RFC3339 format after which Items (Checkouts or Commerce-Cases, depending on the context) should be included in the request. Accepted formats are:
5776
+ YYYY-MM-DD'T'HH:mm:ss'Z'
5777
+ YYYY-MM-DD'T'HH:mm:ss+XX:XX
5778
+ YYYY-MM-DD'T'HH:mm:ss-XX:XX
5779
+ YYYY-MM-DD'T'HH:mm'Z'
5780
+ YYYY-MM-DD'T'HH:mm+XX:XX
5781
+ YYYY-MM-DD'T'HH:mm-XX:XX
5782
+ All other formats may be ignored by the system.
5783
+ some examples:
5784
+ YYYY-MM-DDThh:mm:ssZ:
5785
+ value: 2022-11-10T13:34:23Z
5786
+ YYYY-MM-DDThh:mm:ss+XX:XX:
5787
+ value: 2022-11-10T14:34:23+01:00
5788
+ paymentLinkOrder:
5789
+ $ref: "#/components/schemas/PaymentLinkOrder"
5790
+ status:
5791
+ $ref: '#/components/schemas/PayLinkStatusValue'
5792
+ redirectionUrl:
5793
+ type: string
5794
+ example: "https://commerceplatformURL/25296588-4ddc-4632-9818-532840d49780"
5795
+ paymentLinkId:
5796
+ type: string
5797
+ format: UUID
5798
+ description: Unique identifier for the pay-link
5799
+ PaymentLinkOrder:
5800
+ type: object
5801
+ properties:
5802
+ merchantReference:
5803
+ type: string
5804
+ example: "Order-20250119112400"
5805
+ amount:
5806
+ type: object
5807
+ properties:
5808
+ amount:
5809
+ type: integer
5810
+ format: int64
5811
+ example: 30200
5812
+ description: Total amount of money to be paid
5813
+ currencyCode:
5814
+ type: string
5815
+ description: Currency code (e.g., EUR)
5816
+ PayLinkStatusValue:
5817
+ type: string
5818
+ description: enum for pay-link status
5819
+ enum:
5820
+ - ACTIVE
5821
+ - PAID
5822
+ - EXPIRED
5823
+ - REDIRECTED
5824
+ MerchantName:
5825
+ type: string
5826
+ description: >-
5827
+ The canonical name of the merchant that initiates the checkout,
5828
+ per your records. This name needs to be suitable for display.
5829
+ Don't localize the name.
5830
+ example: "TestMerchant"
5831
+ MerchantOrigin:
5832
+ type: string
5833
+ description: >-
5834
+ The fully qualified domain of the merchant who made the request.
5835
+ Make this string the hostname of the merchant's website where the
5836
+ checkout initiation occurs. For international (non-ASCII) domains,
5837
+ use Punycode. For example, if the merchant domain is google.rf,
5838
+ provide an origin value of xn-c1aay4a.xn-p1ai. The string can
5839
+ include an optional port number if it doesn't use a standard HTTP
5840
+ or HTTPS port value.
5841
+ example: "merchant.example.com"
5842
+ AuthenticationToken:
5843
+ type: object
5844
+ properties:
5845
+ token:
5846
+ type: string
5847
+ description: The JWT authentication token
5848
+ example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
5849
+ id:
5850
+ type: string
5851
+ format: uuid
5852
+ description: The unique identifier of the JWT authentication token
5853
+ example: "b311ea35-57c9-4118-8712-9a5bd253eb37"
5854
+ creationDate:
5855
+ type: string
5856
+ format: date-time
5857
+ description: The creation date of the JWT authentication token. Format YYYY-MM-DD'T'HH:mm:ss'Z'
5858
+ example: "2023-10-01T00:00:00.000Z"
5859
+ expirationDate:
5860
+ type: string
5861
+ format: date-time
5862
+ description: The expiration date of the JWT authentication token. Format YYYY-MM-DD'T'HH:mm:ss'Z'
5863
+ example: "2024-01-01T00:00:00.000Z"