mangopay4-nodejs-sdk 1.66.0 → 1.67.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## [1.67.0] - 2026-03-19
2
+ ### Added - mTLS certificates support
3
+ - mTLS certificates are now configurable in the SDK via file paths or encoded strings
4
+
5
+ ## [1.66.1] - 2026-02-23
6
+ ### Added - ChargeBearer body parameter on payouts
7
+
8
+ https://github.com/Mangopay/mangopay2-nodejs-sdk/pull/535/changes/ca0d85f6d6f35aa9ebe1ee5e77aa1e8a7b342b20
9
+ On [POST Create a Payout](/api-reference/payouts/create-payout), platforms can now request to pay all SWIFT fees using the `OUR` value of the new `ChargeBearer` property ([API release note](/release-notes/api/2026-02-16)):
10
+ - Handle `ChargeBearer` param
11
+
12
+ ### Added - AuthenticationType response property on card pay-ins
13
+
14
+ https://github.com/Mangopay/mangopay2-nodejs-sdk/pull/535/changes/ac2813ac69d495ede90328d859e5749feb1a266b
15
+ - The `AuthenticationResult.AuthenticationType` response property is now returned on card pay-ins
16
+
17
+ ### Added - TelephoneOrder body parameter on recurring card pay-ins (CIT and MIT)
18
+
19
+ https://github.com/Mangopay/mangopay2-nodejs-sdk/pull/535/changes/32178e20810720a44c20a75556cdd961e1505cd3
20
+ To support the `TelephoneOrder` property on [POST Create a Recurring PayIn (MIT)](/api-reference/recurring-card-payins/create-recurring-payin-cit) and [POST Create a Recurring PayIn (CIT)](/api-reference/recurring-card-payins/create-recurring-payin-mit):
21
+ - handle `PaymentCategory` param
22
+
1
23
  ## [1.66.0] - 2026-02-12
2
24
  ### FX
3
25
 
package/README.md CHANGED
@@ -34,7 +34,84 @@ Supported options
34
34
  |connectionTimeout|30000|Set the connection timeout limit (in milliseconds)|
35
35
  |responseTimeout|80000|Set the response timeout limit (in milliseconds)|
36
36
  |apiVersion|'v2.01'|API Version|
37
- |errorHandler|```function(options, err) {console.error(options, err)}```|Set a custom error handler
37
+ |errorHandler|```function(options, err) {console.error(options, err)}```|Set a custom error handler|
38
+ |cert|null|Base64-encoded string of the mTLS certificate `.pem` file content|
39
+ |key|null|Base64-encoded string of the mTLS private `.key` file content|
40
+ |ca|null|Base64-encoded string of the private or custom certificate authority (optional)|
41
+ |passphrase|null|Passphrase for an encrypted mTLS private key (optional)|
42
+ |certFilePath|null|Path to the mTLS certificate `.pem` file (takes precedence over `cert` if set)|
43
+ |keyFilePath|null|Path to the mTLS private `.key` file (takes precedence over `key` if set)|
44
+ |caFilePath|null|Path to the private or custom certificate authority file (takes precedence over `ca` if set)|
45
+
46
+
47
+ mTLS
48
+ -------------------------------------------------
49
+ ### Set the base URL for mTLS
50
+
51
+ Using mTLS authentication requires your integration to call a base URL with a different hostname from the standard API:
52
+
53
+ * Sandbox: `https://api-mtls.sandbox.mangopay.com`
54
+ * Production: `https://api-mtls.mangopay.com`
55
+
56
+ If using mTLS, your integration should use the `api-mtls` URLs for all API calls, including OAuth token generation.
57
+
58
+ **Caution:** Ensure you set the mTLS base URL, as shown in the configuration examples below. If you don’t, the mTLS certificate will not be transferred to Mangopay. When mTLS is enforced, your integration will result in an error.
59
+
60
+ ### Configure the SDK’s mTLS properties
61
+
62
+ The Node.js SDK allows you to load Base64-encoded strings from your environment variables. You can also load locally stored file paths, which may be useful during testing.
63
+
64
+ **Caution:** The file path properties take precedence if both are set.
65
+
66
+ #### Base64-encoded strings
67
+
68
+ When your `.pem` certificate and private `.key` are stored as encoded strings in a secrets manager, you can load them using the following configuration properties.
69
+
70
+ **Best practice:** Use this option in Production.
71
+
72
+ | Property | Type | Description |
73
+ | ------------ | ----------------- |-------------------------------------------------------------------------------|
74
+ | `cert` | string | Base64-encoded string of the certificate `.pem` file content. |
75
+ | `key` | string | Base64-encoded string of the private `.key` file content. |
76
+ | `ca` | string (optional) | Base64-encoded string of the private or custom certificate authority, if used. |
77
+ | `passphrase` | string (optional) | String of the passphrase for an encrypted private key. |
78
+
79
+ ```jsx theme={null}
80
+ const mangopay = new Mangopay({
81
+ clientId: 'your-mangopay-client-id',
82
+ clientApiKey: 'your-api-key',
83
+ baseUrl: 'https://api-mtls.sandbox.mangopay.com', // mTLS base URL
84
+ cert: process.env.CERTIFICATE_PEM_B64, // Base64-encoded
85
+ key: process.env.PRIVATE_KEY_B64, // Base64-encoded
86
+ ca: process.env.YOUR_CUSTOM_CA, // Base64-encoded (optional)
87
+ passphrase: process.env.YOUR_CERT_PASSPHRASE, // (optional)
88
+ });
89
+ ```
90
+
91
+ #### File paths
92
+
93
+ If your `.pem` certificate and private `.key` are stored locally, for example during testing, you can load them using the following properties.
94
+
95
+ **Caution:** If the file path properties are set, they take precedence and the Base64-encoded equivalents are ignored.
96
+
97
+ | Property | Type | Description |
98
+ | -------------- | ----------------- | ------------------------------------------------------------- |
99
+ | `certFilePath` | string | Path to the certificate `.pem` file. |
100
+ | `keyFilePath` | string | Path to the private `.key` file. |
101
+ | `caFilePath` | string (optional) | Path to the private or custom certificate authority, if used. |
102
+ | `passphrase` | string (optional) | String of the passphrase for an encrypted private key. |
103
+
104
+ ```jsx theme={null}
105
+ const mangopay = new Mangopay({
106
+ clientId: 'your-mangopay-client-id',
107
+ clientApiKey: 'your-api-key',
108
+ baseUrl: 'https://api-mtls.sandbox.mangopay.com', // mTLS base URL
109
+ certFilePath: '/path/to/certificate.pem',
110
+ keyFilePath: '/path/to/private.key',
111
+ caFilePath: '/path/to/custom-ca.crt', // optional
112
+ passphrase: 'your-cert-passphrase', // optional
113
+ });
114
+ ```
38
115
 
39
116
  Documentation
40
117
  -------------------------------------------------
package/lib/api.js CHANGED
@@ -1,6 +1,8 @@
1
1
  var _ = require('underscore');
2
2
  var Promise = require('promise');
3
3
  var querystring = require('querystring');
4
+ var https = require('https');
5
+ var fs = require('fs');
4
6
 
5
7
  var apiMethods = require('./apiMethods');
6
8
  var apiModels = require('./models');
@@ -20,6 +22,29 @@ function _getBasicAuthHash(username, apiKey) {
20
22
  return 'Basic ' + Buffer.from(username + ':' + apiKey).toString('base64');
21
23
  }
22
24
 
25
+ function _buildHttpsAgent(config) {
26
+ var agentOptions = {
27
+ minVersion: 'TLSv1.2'
28
+ };
29
+
30
+ var cert = (config.cert && Buffer.from(config.cert, 'base64').toString('utf8')) || (config.certFilePath && fs.readFileSync(config.certFilePath));
31
+ var key = (config.key && Buffer.from(config.key, 'base64').toString('utf8')) || (config.keyFilePath && fs.readFileSync(config.keyFilePath));
32
+ var ca = (config.ca && Buffer.from(config.ca, 'base64').toString('utf8')) || (config.caFilePath && fs.readFileSync(config.caFilePath));
33
+
34
+ if (cert && key) {
35
+ agentOptions.cert = cert;
36
+ agentOptions.key = key;
37
+ if (ca) {
38
+ agentOptions.ca = ca;
39
+ }
40
+ if (config.passphrase) {
41
+ agentOptions.passphrase = config.passphrase;
42
+ }
43
+ }
44
+
45
+ return new https.Agent(agentOptions);
46
+ }
47
+
23
48
  var Api = function (config) {
24
49
  var defaultConfig = require('./config');
25
50
  config = this.config = _.extend({}, defaultConfig, config);
@@ -30,6 +55,8 @@ var Api = function (config) {
30
55
 
31
56
  this.errorHandler = config.errorHandler;
32
57
 
58
+ this.httpsAgent = _buildHttpsAgent(config);
59
+
33
60
  this.rateLimits = [];
34
61
 
35
62
  // Add default request configuration options
@@ -244,7 +271,8 @@ Api.prototype = {
244
271
  data: requestOptions.data,
245
272
  headers: requestOptions.headers,
246
273
  params: requestOptions.parameters,
247
- signal: abortSignal
274
+ signal: abortSignal,
275
+ httpsAgent: self.httpsAgent
248
276
  })
249
277
  .then(function (response) {
250
278
  var resolveArgument = (resolveWithFullResponse) ?
@@ -357,7 +385,8 @@ Api.prototype = {
357
385
  headers: _.extend({}, self.requestOptions.headers, {
358
386
  'Authorization': _getBasicAuthHash(self.config.clientId, self.config.clientApiKey),
359
387
  'Content-Type': 'application/x-www-form-urlencoded',
360
- })
388
+ }),
389
+ httpsAgent: self.httpsAgent
361
390
  })
362
391
  .then(function (response) {
363
392
  // Authorization succeeded
package/lib/config.js CHANGED
@@ -53,5 +53,18 @@ module.exports = {
53
53
  */
54
54
  errorHandler: function(options, err) {
55
55
  console.error(options, err);
56
- }
56
+ },
57
+
58
+ // mTLS – base64-encoded PEM content
59
+ cert: null,
60
+ key: null,
61
+ ca: null,
62
+
63
+ // mTLS – file paths (SDK reads them at init)
64
+ certFilePath: null,
65
+ keyFilePath: null,
66
+ caFilePath: null,
67
+
68
+ // optional passphrase for encrypted private key
69
+ passphrase: null
57
70
  };
@@ -0,0 +1,7 @@
1
+ var Model = require('../Model');
2
+
3
+ module.exports = Model.extend({
4
+ defaults: {
5
+ AuthenticationType: null
6
+ }
7
+ });
@@ -120,7 +120,9 @@ var CardPreAuthorization = Model.extend({
120
120
  /*
121
121
  * Information about the card
122
122
  */
123
- CardInfo: null
123
+ CardInfo: null,
124
+
125
+ AuthenticationResult: null
124
126
  },
125
127
 
126
128
  getSubObjects: function() {
@@ -14,6 +14,7 @@ module.exports = EntityBase.extend({
14
14
  Type: null,
15
15
  Applied3DSVersion: null,
16
16
  ResultCode: null,
17
- ResultMessage: null
17
+ ResultMessage: null,
18
+ AuthenticationResult: null
18
19
  }
19
20
  });
@@ -24,6 +24,7 @@ module.exports = EntityBase.extend({
24
24
  Shipping: null,
25
25
  Requested3DSVersion: null,
26
26
  Applied3DSVersion: null,
27
- CardInfo: null
27
+ CardInfo: null,
28
+ AuthenticationResult: null
28
29
  }
29
30
  });
@@ -23,7 +23,11 @@ var PayIn = Transaction.extend({
23
23
  /**
24
24
  * The unique reference generated for the profiling session, used by the fraud prevention solution to produce recommendations for the transaction using the profiling data.
25
25
  */
26
- ProfilingAttemptReference: null
26
+ ProfilingAttemptReference: null,
27
+ /**
28
+ * AuthenticationResult
29
+ */
30
+ AuthenticationResult: null
27
31
  }),
28
32
 
29
33
  getReadOnlyProperties: function() {
@@ -25,7 +25,9 @@ var PayOutPaymentDetailsBankWire = PayOutPaymentDetails.extend({
25
25
 
26
26
  Status: null,
27
27
 
28
- FallbackReason: null
28
+ FallbackReason: null,
29
+
30
+ ChargeBearer: null
29
31
  }
30
32
  });
31
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mangopay4-nodejs-sdk",
3
- "version": "1.66.0",
3
+ "version": "1.67.0",
4
4
  "types": "./typings/index.d.ts",
5
5
  "description": "Mangopay Node.js SDK",
6
6
  "repository": "https://github.com/Mangopay/mangopay2-nodejs-sdk.git",
@@ -2,12 +2,7 @@ var expect = require('chai').expect;
2
2
  var api = require('../main');
3
3
 
4
4
  var helpers = require('../helpers');
5
- var mangopay = require('../../index');
6
-
7
- var api = global.api = new mangopay({
8
- clientId: 'sdk-unit-tests',
9
- clientApiKey: 'cqFfFrWfCcb7UadHNxx2C9Lo6Djw8ZduLi7J9USTmu8bhxxpju'
10
- });
5
+ var api = require('../main');
11
6
 
12
7
  describe('Idempotency', function () {
13
8
  var idempotencyKey = helpers.generateRandomString();
@@ -1,12 +1,7 @@
1
1
  var expect = require('chai').expect;
2
2
 
3
3
  var helpers = require('../helpers');
4
- var mangopay = require('../../index');
5
-
6
- var api = global.api = new mangopay({
7
- clientId: 'sdk-unit-tests',
8
- clientApiKey: 'cqFfFrWfCcb7UadHNxx2C9Lo6Djw8ZduLi7J9USTmu8bhxxpju'
9
- });
4
+ var api = require('../main');
10
5
 
11
6
  describe('PayIns', function () {
12
7
  var payIn;
@@ -680,8 +675,9 @@ describe('PayIns', function () {
680
675
 
681
676
  describe('Create a Recurring Payment', function() {
682
677
  var recurring;
678
+ var createdCit;
683
679
  before(function(done){
684
- recurringPayin = {
680
+ const recurringPayin = {
685
681
  AuthorId: john.Id,
686
682
  CardId: cardId,
687
683
  CreditedUserId: john.Id,
@@ -724,7 +720,7 @@ describe('PayIns', function () {
724
720
  api.PayIns.createRecurringPayment(recurringPayin, function(data, response){
725
721
  recurring = data;
726
722
  }).then(function(){
727
- cit = {
723
+ const cit = {
728
724
  RecurringPayinRegistrationId: recurring.Id,
729
725
  BrowserInfo: {
730
726
  AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
@@ -752,18 +748,19 @@ describe('PayIns', function () {
752
748
  };
753
749
 
754
750
  api.PayIns.createRecurringPayInRegistrationCIT(cit, function(data, response){
755
- createCit = data;
751
+ createdCit = data;
756
752
  done();
757
- })
758
- })
759
- })
753
+ });
754
+ });
755
+ });
760
756
 
761
757
  it('should be created', function() {
762
758
  expect(recurring).to.not.be.null;
763
759
  expect(recurring.FreeCycles).to.not.be.null;
764
- expect(createCit).to.not.be.null;
765
- })
766
- })
760
+ expect(createdCit).to.not.be.null;
761
+ expect(createdCit.PaymentCategory).to.not.be.null;
762
+ });
763
+ });
767
764
 
768
765
  describe('Create a PayPal Recurring Payment CIT', function() {
769
766
  var recurring;
@@ -19,6 +19,7 @@ describe('PayOuts', function() {
19
19
  it('should be created', function(){
20
20
  expect(payOut.Id).to.exist;
21
21
  expect(payOut.PaymentType).to.equal('BANK_WIRE');
22
+ expect(payOut.ChargeBearer).to.not.be.undefined;
22
23
  });
23
24
  });
24
25
 
@@ -1,11 +1,6 @@
1
1
  var expect = require('chai').expect;
2
2
  var helpers = require('../helpers');
3
- const mangopay = require("../../index");
4
-
5
- var api = global.api = new mangopay({
6
- clientId: 'sdk-unit-tests',
7
- clientApiKey: 'cqFfFrWfCcb7UadHNxx2C9Lo6Djw8ZduLi7J9USTmu8bhxxpju'
8
- });
3
+ var api = require('../main');
9
4
 
10
5
  describe('Rate Limits', function () {
11
6
  expect(api.rateLimits).to.be.empty;
@@ -6,12 +6,7 @@ var Ubo = require('../../lib/models/Ubo');
6
6
  var UboDeclarationStatus = require('../../lib/models/UboDeclarationStatus');
7
7
  var UserNatural = require('../../lib/models/UserNatural');
8
8
  var UserLegal = require('../../lib/models/UserLegal');
9
- var mangopay = require('../../lib/mangopay');
10
-
11
- var api = global.api = new mangopay({
12
- clientId: 'sdk-unit-tests',
13
- clientApiKey: 'cqFfFrWfCcb7UadHNxx2C9Lo6Djw8ZduLi7J9USTmu8bhxxpju'
14
- });
9
+ var api = require('../main');
15
10
 
16
11
  describe('UBO Declarations', function () {
17
12
  var user = new UserLegal(helpers.data.getUserLegal());
package/typings/base.d.ts CHANGED
@@ -64,6 +64,47 @@ export namespace base {
64
64
  * @default `console.error`
65
65
  */
66
66
  errorHandler?(options: any, err: any): void;
67
+
68
+ /**
69
+ * Client certificate for mTLS (PEM string or Buffer).
70
+ * Use either this or `certFilePath`.
71
+ */
72
+ cert?: string | Buffer;
73
+
74
+ /**
75
+ * Client private key for mTLS (PEM string or Buffer).
76
+ * Use either this or `keyFilePath`.
77
+ */
78
+ key?: string | Buffer;
79
+
80
+ /**
81
+ * CA certificate for mTLS (PEM string or Buffer).
82
+ * Use either this or `caFilePath`.
83
+ */
84
+ ca?: string | Buffer;
85
+
86
+ /**
87
+ * Path to client certificate file for mTLS.
88
+ * Read at initialization time. Ignored if `cert` is set.
89
+ */
90
+ certFilePath?: string;
91
+
92
+ /**
93
+ * Path to client private key file for mTLS.
94
+ * Read at initialization time. Ignored if `key` is set.
95
+ */
96
+ keyFilePath?: string;
97
+
98
+ /**
99
+ * Path to CA certificate file for mTLS.
100
+ * Read at initialization time. Ignored if `ca` is set.
101
+ */
102
+ caFilePath?: string;
103
+
104
+ /**
105
+ * Passphrase for an encrypted private key (`key` or `keyFilePath`).
106
+ */
107
+ passphrase?: string;
67
108
  }
68
109
 
69
110
  interface RequestOptions {
@@ -12,6 +12,25 @@ const validConfig: Mangopay.base.Config = {
12
12
  baseUrl: "https://api.mangopay.com"
13
13
  };
14
14
 
15
+ // mTLS config — file paths
16
+ const mtlsConfigPaths: Mangopay.base.Config = {
17
+ clientId: "your_client_id",
18
+ clientApiKey: "your_client_api_key",
19
+ certFilePath: "/path/to/cert.pem",
20
+ keyFilePath: "/path/to/key.pem",
21
+ caFilePath: "/path/to/ca.pem",
22
+ passphrase: "secret"
23
+ };
24
+
25
+ // mTLS config — raw content
26
+ const mtlsConfigRaw: Mangopay.base.Config = {
27
+ clientId: "your_client_id",
28
+ clientApiKey: "your_client_api_key",
29
+ cert: "base64_string",
30
+ key: "base64_string",
31
+ passphrase: "secret"
32
+ };
33
+
15
34
  // API instance tests
16
35
  const api = new Mangopay(validConfig);
17
36
  expectType<Mangopay>(api);
@@ -6,6 +6,7 @@ import { money } from "./money";
6
6
  import { securityInfo } from "./securityInfo";
7
7
  import { shipping } from "./shipping";
8
8
  import { card } from "./card";
9
+ import { payIn } from "./payIn";
9
10
 
10
11
  export namespace cardPreAuthorization {
11
12
  import BillingData = billing.BillingData;
@@ -14,6 +15,7 @@ export namespace cardPreAuthorization {
14
15
  import SecurityInfoData = securityInfo.SecurityInfoData;
15
16
  import ShippingData = shipping.ShippingData;
16
17
  import CardInfoData = card.CardInfoData;
18
+ import AuthenticationResult = payIn.AuthenticationResult;
17
19
 
18
20
  type PreAuthorizationExecutionType = "DIRECT";
19
21
 
@@ -153,5 +155,10 @@ export namespace cardPreAuthorization {
153
155
  * TelephoneOrder – Payment received via mail order or telephone order (MOTO).
154
156
  */
155
157
  PaymentCategory: string;
158
+
159
+ /**
160
+ * Authentication result
161
+ */
162
+ AuthenticationResult?: AuthenticationResult;
156
163
  }
157
164
  }
@@ -6,6 +6,8 @@ import { payIn } from "./payIn";
6
6
  import { SecureMode } from "../types";
7
7
 
8
8
  export namespace cardValidation {
9
+ import AuthenticationResult = payIn.AuthenticationResult;
10
+
9
11
  interface CardValidationData extends entityBase.EntityBaseData {
10
12
  /**
11
13
  * The unique identifier of the user at the source of the transaction.
@@ -80,6 +82,11 @@ export namespace cardValidation {
80
82
  * TelephoneOrder – Payment received via mail order or telephone order (MOTO).
81
83
  */
82
84
  PaymentCategory: string;
85
+
86
+ /**
87
+ * Authentication result
88
+ */
89
+ AuthenticationResult?: AuthenticationResult;
83
90
  }
84
91
 
85
92
  interface CreateCardValidation {
@@ -17,6 +17,7 @@ export namespace deposit {
17
17
  import CompleteBillingData = billing.CompleteBillingData;
18
18
  import _3DSVersion = payIn._3DSVersion;
19
19
  import CardInfoData = card.CardInfoData;
20
+ import AuthenticationResult = payIn.AuthenticationResult;
20
21
 
21
22
  type DepositStatus = ValueOf<enums.IDepositStatus>;
22
23
 
@@ -68,6 +69,11 @@ export namespace deposit {
68
69
  Applied3DSVersion: _3DSVersion;
69
70
 
70
71
  CardInfo: CardInfoData;
72
+
73
+ /**
74
+ * Authentication result
75
+ */
76
+ AuthenticationResult?: AuthenticationResult;
71
77
  }
72
78
 
73
79
  interface CreateDeposit {
@@ -198,6 +198,11 @@ export namespace payIn {
198
198
  * Name of the end-user’s bank
199
199
  */
200
200
  BankName: string;
201
+
202
+ /**
203
+ * Authentication result
204
+ */
205
+ AuthenticationResult?: AuthenticationResult;
201
206
  }
202
207
 
203
208
  interface CardWebExtendedPayInData {
@@ -388,6 +393,11 @@ export namespace payIn {
388
393
  * TelephoneOrder – Payment received via mail order or telephone order (MOTO).
389
394
  */
390
395
  PaymentCategory: string;
396
+
397
+ /**
398
+ * Authentication result
399
+ */
400
+ AuthenticationResult?: AuthenticationResult;
391
401
  }
392
402
 
393
403
  interface MbwayWebPayInData extends BasePayInData {
@@ -1726,6 +1736,13 @@ export namespace payIn {
1726
1736
  * Information about the card
1727
1737
  */
1728
1738
  CardInfo: CardInfoData;
1739
+
1740
+ PaymentCategory?: string;
1741
+
1742
+ /**
1743
+ * Authentication result
1744
+ */
1745
+ AuthenticationResult?: AuthenticationResult;
1729
1746
  }
1730
1747
 
1731
1748
  interface CreateRecurringPayInCIT {
@@ -1772,6 +1789,8 @@ export namespace payIn {
1772
1789
  * of the Recurring PayIn Registration. An amount must be transmitted during either registration or pay-in.
1773
1790
  */
1774
1791
  Fees?: MoneyData;
1792
+
1793
+ PaymentCategory?: string;
1775
1794
  }
1776
1795
 
1777
1796
  interface CreateRecurringPayPalPayInCIT {
@@ -1865,6 +1884,8 @@ export namespace payIn {
1865
1884
  * Custom data that you can add to this item
1866
1885
  */
1867
1886
  Tag?: string;
1887
+
1888
+ PaymentCategory?: string;
1868
1889
  }
1869
1890
 
1870
1891
  interface CreateRecurringPayPalPayInMIT {
@@ -2148,6 +2169,11 @@ export namespace payIn {
2148
2169
  * Custom data that you can add to this item
2149
2170
  */
2150
2171
  Tag: string;
2172
+
2173
+ /**
2174
+ * Authentication result
2175
+ */
2176
+ AuthenticationResult?: AuthenticationResult;
2151
2177
  }
2152
2178
 
2153
2179
  interface ApplePayPaymentData {
@@ -2312,6 +2338,11 @@ export namespace payIn {
2312
2338
  * This is the URL where users are automatically redirected after the payment is validated
2313
2339
  */
2314
2340
  ReturnURL: string;
2341
+
2342
+ /**
2343
+ * Authentication result
2344
+ */
2345
+ AuthenticationResult?: AuthenticationResult;
2315
2346
  }
2316
2347
 
2317
2348
  interface KlarnaWebPayInData extends BasePayInData {
@@ -4010,4 +4041,8 @@ export namespace payIn {
4010
4041
  interface UpdatePayInIntentDisputeOutcome {
4011
4042
  Decision: string;
4012
4043
  }
4044
+
4045
+ interface AuthenticationResult {
4046
+ AuthenticationType?: string;
4047
+ }
4013
4048
  }
@@ -49,6 +49,11 @@ export namespace payOut {
49
49
  * Null if BankAccountId is provided.
50
50
  */
51
51
  RecipientId?: string;
52
+
53
+ /**
54
+ * Possible values: OUR / SHA
55
+ */
56
+ ChargeBearer?: string;
52
57
  }
53
58
 
54
59
  interface CreatePayOut {
@@ -101,6 +106,11 @@ export namespace payOut {
101
106
  * but if any prerequisite is not met or another problem occurs, there is no fallback: the wallet is automatically refunded and the payout is not completed.
102
107
  */
103
108
  PayoutModeRequested?: PayoutModeRequestedType;
109
+
110
+ /**
111
+ * Possible values: OUR / SHA
112
+ */
113
+ ChargeBearer?: string;
104
114
  }
105
115
 
106
116
  interface CheckPayOutEligibility {