@deenruv/payments-plugin 1.0.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/LICENSE +23 -0
- package/README.md +157 -0
- package/package/braintree/braintree-common.d.ts +11 -0
- package/package/braintree/braintree-common.js +79 -0
- package/package/braintree/braintree-common.js.map +1 -0
- package/package/braintree/braintree.handler.d.ts +28 -0
- package/package/braintree/braintree.handler.js +147 -0
- package/package/braintree/braintree.handler.js.map +1 -0
- package/package/braintree/braintree.plugin.d.ts +238 -0
- package/package/braintree/braintree.plugin.js +294 -0
- package/package/braintree/braintree.plugin.js.map +1 -0
- package/package/braintree/braintree.resolver.d.ts +14 -0
- package/package/braintree/braintree.resolver.js +109 -0
- package/package/braintree/braintree.resolver.js.map +1 -0
- package/package/braintree/constants.d.ts +2 -0
- package/package/braintree/constants.js +6 -0
- package/package/braintree/constants.js.map +1 -0
- package/package/braintree/index.d.ts +5 -0
- package/package/braintree/index.js +22 -0
- package/package/braintree/index.js.map +1 -0
- package/package/braintree/types.d.ts +94 -0
- package/package/braintree/types.js +4 -0
- package/package/braintree/types.js.map +1 -0
- package/package/index.d.ts +4 -0
- package/package/index.js +8 -0
- package/package/index.js.map +1 -0
- package/package/mollie/api-extensions.d.ts +2 -0
- package/package/mollie/api-extensions.js +88 -0
- package/package/mollie/api-extensions.js.map +1 -0
- package/package/mollie/constants.d.ts +2 -0
- package/package/mollie/constants.js +6 -0
- package/package/mollie/constants.js.map +1 -0
- package/package/mollie/custom-fields.d.ts +7 -0
- package/package/mollie/custom-fields.js +12 -0
- package/package/mollie/custom-fields.js.map +1 -0
- package/package/mollie/extended-mollie-client.d.ts +51 -0
- package/package/mollie/extended-mollie-client.js +39 -0
- package/package/mollie/extended-mollie-client.js.map +1 -0
- package/package/mollie/graphql/generated-shop-types.d.ts +3212 -0
- package/package/mollie/graphql/generated-shop-types.js +977 -0
- package/package/mollie/graphql/generated-shop-types.js.map +1 -0
- package/package/mollie/index.d.ts +3 -0
- package/package/mollie/index.js +23 -0
- package/package/mollie/index.js.map +1 -0
- package/package/mollie/mollie.common-resolver.d.ts +9 -0
- package/package/mollie/mollie.common-resolver.js +55 -0
- package/package/mollie/mollie.common-resolver.js.map +1 -0
- package/package/mollie/mollie.controller.d.ts +10 -0
- package/package/mollie/mollie.controller.js +71 -0
- package/package/mollie/mollie.controller.js.map +1 -0
- package/package/mollie/mollie.handler.d.ts +36 -0
- package/package/mollie/mollie.handler.js +141 -0
- package/package/mollie/mollie.handler.js.map +1 -0
- package/package/mollie/mollie.helpers.d.ts +33 -0
- package/package/mollie/mollie.helpers.js +147 -0
- package/package/mollie/mollie.helpers.js.map +1 -0
- package/package/mollie/mollie.plugin.d.ts +176 -0
- package/package/mollie/mollie.plugin.js +167 -0
- package/package/mollie/mollie.plugin.js.map +1 -0
- package/package/mollie/mollie.service.d.ts +64 -0
- package/package/mollie/mollie.service.js +438 -0
- package/package/mollie/mollie.service.js.map +1 -0
- package/package/mollie/mollie.shop-resolver.d.ts +8 -0
- package/package/mollie/mollie.shop-resolver.js +40 -0
- package/package/mollie/mollie.shop-resolver.js.map +1 -0
- package/package/stripe/constants.d.ts +2 -0
- package/package/stripe/constants.js +6 -0
- package/package/stripe/constants.js.map +1 -0
- package/package/stripe/index.d.ts +1 -0
- package/package/stripe/index.js +6 -0
- package/package/stripe/index.js.map +1 -0
- package/package/stripe/metadata-sanitize.d.ts +13 -0
- package/package/stripe/metadata-sanitize.js +33 -0
- package/package/stripe/metadata-sanitize.js.map +1 -0
- package/package/stripe/raw-body.middleware.d.ts +6 -0
- package/package/stripe/raw-body.middleware.js +18 -0
- package/package/stripe/raw-body.middleware.js.map +1 -0
- package/package/stripe/stripe-client.d.ts +9 -0
- package/package/stripe/stripe-client.js +21 -0
- package/package/stripe/stripe-client.js.map +1 -0
- package/package/stripe/stripe-utils.d.ts +19 -0
- package/package/stripe/stripe-utils.js +40 -0
- package/package/stripe/stripe-utils.js.map +1 -0
- package/package/stripe/stripe.controller.d.ts +15 -0
- package/package/stripe/stripe.controller.js +135 -0
- package/package/stripe/stripe.controller.js.map +1 -0
- package/package/stripe/stripe.handler.d.ts +30 -0
- package/package/stripe/stripe.handler.js +103 -0
- package/package/stripe/stripe.handler.js.map +1 -0
- package/package/stripe/stripe.plugin.d.ts +158 -0
- package/package/stripe/stripe.plugin.js +218 -0
- package/package/stripe/stripe.plugin.js.map +1 -0
- package/package/stripe/stripe.resolver.d.ts +8 -0
- package/package/stripe/stripe.resolver.js +48 -0
- package/package/stripe/stripe.resolver.js.map +1 -0
- package/package/stripe/stripe.service.d.ts +28 -0
- package/package/stripe/stripe.service.js +149 -0
- package/package/stripe/stripe.service.js.map +1 -0
- package/package/stripe/types.d.ts +137 -0
- package/package/stripe/types.js +4 -0
- package/package/stripe/types.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./braintree.plugin"), exports);
|
|
18
|
+
__exportStar(require("./braintree.handler"), exports);
|
|
19
|
+
__exportStar(require("./braintree.resolver"), exports);
|
|
20
|
+
__exportStar(require("./braintree-common"), exports);
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/braintree/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,sDAAoC;AACpC,uDAAqC;AACrC,qDAAmC;AACnC,0CAAwB"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { PaymentMetadata } from "@deenruv/core";
|
|
2
|
+
import { ConfigArgValues } from "@deenruv/core/dist/common/configurable-operation";
|
|
3
|
+
import "@deenruv/core/dist/entity/custom-entity-fields";
|
|
4
|
+
import { Environment, Transaction } from "braintree";
|
|
5
|
+
import { braintreePaymentMethodHandler } from "./braintree.handler";
|
|
6
|
+
export type PaymentMethodArgsHash = ConfigArgValues<(typeof braintreePaymentMethodHandler)["args"]>;
|
|
7
|
+
declare module "@deenruv/core/dist/entity/custom-entity-fields" {
|
|
8
|
+
interface CustomCustomerFields {
|
|
9
|
+
braintreeCustomerId?: string;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @description
|
|
14
|
+
* Options for the Braintree plugin.
|
|
15
|
+
*
|
|
16
|
+
* @docsCategory core plugins/PaymentsPlugin
|
|
17
|
+
* @docsPage BraintreePlugin
|
|
18
|
+
*/
|
|
19
|
+
export interface BraintreePluginOptions {
|
|
20
|
+
/**
|
|
21
|
+
* @description
|
|
22
|
+
* The Braintree environment being targeted, e.g. sandbox or production.
|
|
23
|
+
*
|
|
24
|
+
* @default Environment.Sandbox
|
|
25
|
+
*/
|
|
26
|
+
environment?: Environment;
|
|
27
|
+
/**
|
|
28
|
+
* @description
|
|
29
|
+
* If set to `true`, a [Customer](https://developer.paypal.com/braintree/docs/guides/customers) object
|
|
30
|
+
* will be created in Braintree, which allows the secure storage ("vaulting") of previously-used payment methods.
|
|
31
|
+
* This is done by adding a custom field to the Customer entity to store the Braintree customer ID,
|
|
32
|
+
* so switching this on will require a database migration / synchronization.
|
|
33
|
+
*
|
|
34
|
+
* Since v1.8, it is possible to override vaulting on a per-payment basis by passing `includeCustomerId: false` to the
|
|
35
|
+
* `generateBraintreeClientToken` mutation.
|
|
36
|
+
*
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
storeCustomersInBraintree?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* @description
|
|
42
|
+
* Allows you to configure exactly what information from the Braintree
|
|
43
|
+
* [Transaction object](https://developer.paypal.com/braintree/docs/reference/response/transaction#result-object) (which is returned by the
|
|
44
|
+
* `transaction.sale()` method of the SDK) should be persisted to the resulting Payment entity metadata.
|
|
45
|
+
*
|
|
46
|
+
* By default, the built-in extraction function will return a metadata object that looks like this:
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* const metadata = {
|
|
51
|
+
* "status": "settling",
|
|
52
|
+
* "currencyIsoCode": "GBP",
|
|
53
|
+
* "merchantAccountId": "my_account_id",
|
|
54
|
+
* "cvvCheck": "Not Applicable",
|
|
55
|
+
* "avsPostCodeCheck": "Not Applicable",
|
|
56
|
+
* "avsStreetAddressCheck": "Not Applicable",
|
|
57
|
+
* "processorAuthorizationCode": null,
|
|
58
|
+
* "processorResponseText": "Approved",
|
|
59
|
+
* // for Paypal payments
|
|
60
|
+
* "paymentMethod": "paypal_account",
|
|
61
|
+
* "paypalData": {
|
|
62
|
+
* "payerEmail": "michael-buyer@paypalsandbox.com",
|
|
63
|
+
* "paymentId": "PAYID-MLCXYNI74301746XK8807043",
|
|
64
|
+
* "authorizationId": "3BU93594D85624939",
|
|
65
|
+
* "payerStatus": "VERIFIED",
|
|
66
|
+
* "sellerProtectionStatus": "ELIGIBLE",
|
|
67
|
+
* "transactionFeeAmount": "0.54"
|
|
68
|
+
* },
|
|
69
|
+
* // for credit card payments
|
|
70
|
+
* "paymentMethod": "credit_card",
|
|
71
|
+
* "cardData": {
|
|
72
|
+
* "cardType": "MasterCard",
|
|
73
|
+
* "last4": "5454",
|
|
74
|
+
* "expirationDate": "02/2023"
|
|
75
|
+
* }
|
|
76
|
+
* // publicly-available metadata that will be
|
|
77
|
+
* // readable from the Shop API
|
|
78
|
+
* "public": {
|
|
79
|
+
* "cardData": {
|
|
80
|
+
* "cardType": "MasterCard",
|
|
81
|
+
* "last4": "5454",
|
|
82
|
+
* "expirationDate": "02/2023"
|
|
83
|
+
* },
|
|
84
|
+
* "paypalData": {
|
|
85
|
+
* "authorizationId": "3BU93594D85624939",
|
|
86
|
+
* }
|
|
87
|
+
* }
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @since 1.7.0
|
|
92
|
+
*/
|
|
93
|
+
extractMetadata?: (transaction: Transaction) => PaymentMetadata;
|
|
94
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/braintree/types.ts"],"names":[],"mappings":";;AAEA,0DAAwD"}
|
package/package/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.placeholder = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* This is a placeholder. Please import from one of the sub-packages, e.g `@deenruv/payments-plugin/package/braintree`
|
|
6
|
+
*/
|
|
7
|
+
exports.placeholder = "Deenruv Payments Plugin";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adminApiExtensions = exports.shopApiExtensions = void 0;
|
|
4
|
+
const graphql_tag_1 = require("graphql-tag");
|
|
5
|
+
const commonSchemaExtensions = (0, graphql_tag_1.gql) `
|
|
6
|
+
input MolliePaymentIntentInput {
|
|
7
|
+
"""
|
|
8
|
+
The code of the Deenruv payment method to use for the payment.
|
|
9
|
+
Must have Mollie as payment method handler.
|
|
10
|
+
Without this, the first method with Mollie as handler will be used.
|
|
11
|
+
"""
|
|
12
|
+
paymentMethodCode: String
|
|
13
|
+
"""
|
|
14
|
+
The redirect url to which the customer will be redirected after the payment is completed.
|
|
15
|
+
The configured fallback redirect will be used if this is not provided.
|
|
16
|
+
"""
|
|
17
|
+
redirectUrl: String
|
|
18
|
+
"""
|
|
19
|
+
Optional preselected Mollie payment method. When this is passed
|
|
20
|
+
the payment selection step will be skipped.
|
|
21
|
+
"""
|
|
22
|
+
molliePaymentMethodCode: String
|
|
23
|
+
"""
|
|
24
|
+
Use this to create a payment intent for a specific order. This allows you to create intents for
|
|
25
|
+
orders that are not active orders.
|
|
26
|
+
"""
|
|
27
|
+
orderId: String
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type MolliePaymentIntent {
|
|
31
|
+
url: String!
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type MolliePaymentIntentError implements ErrorResult {
|
|
35
|
+
errorCode: ErrorCode!
|
|
36
|
+
message: String!
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
union MolliePaymentIntentResult =
|
|
40
|
+
| MolliePaymentIntent
|
|
41
|
+
| MolliePaymentIntentError
|
|
42
|
+
|
|
43
|
+
extend type Mutation {
|
|
44
|
+
createMolliePaymentIntent(
|
|
45
|
+
input: MolliePaymentIntentInput!
|
|
46
|
+
): MolliePaymentIntentResult!
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
49
|
+
exports.shopApiExtensions = (0, graphql_tag_1.gql) `
|
|
50
|
+
${commonSchemaExtensions}
|
|
51
|
+
|
|
52
|
+
type MollieAmount {
|
|
53
|
+
value: String
|
|
54
|
+
currency: String
|
|
55
|
+
}
|
|
56
|
+
type MolliePaymentMethodImages {
|
|
57
|
+
size1x: String
|
|
58
|
+
size2x: String
|
|
59
|
+
svg: String
|
|
60
|
+
}
|
|
61
|
+
type MolliePaymentMethod {
|
|
62
|
+
id: ID!
|
|
63
|
+
code: String!
|
|
64
|
+
description: String
|
|
65
|
+
minimumAmount: MollieAmount
|
|
66
|
+
maximumAmount: MollieAmount
|
|
67
|
+
image: MolliePaymentMethodImages
|
|
68
|
+
status: String
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
input MolliePaymentMethodsInput {
|
|
72
|
+
paymentMethodCode: String!
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
extend type Query {
|
|
76
|
+
molliePaymentMethods(
|
|
77
|
+
input: MolliePaymentMethodsInput!
|
|
78
|
+
): [MolliePaymentMethod!]!
|
|
79
|
+
}
|
|
80
|
+
`;
|
|
81
|
+
exports.adminApiExtensions = (0, graphql_tag_1.gql) `
|
|
82
|
+
${commonSchemaExtensions}
|
|
83
|
+
|
|
84
|
+
extend enum ErrorCode {
|
|
85
|
+
ORDER_PAYMENT_STATE_ERROR
|
|
86
|
+
}
|
|
87
|
+
`;
|
|
88
|
+
//# sourceMappingURL=api-extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-extensions.js","sourceRoot":"","sources":["../../src/mollie/api-extensions.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;AAElC,MAAM,sBAAsB,GAAG,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CjC,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,iBAAG,EAAA;IAChC,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BzB,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,iBAAG,EAAA;IACjC,sBAAsB;;;;;CAKzB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PLUGIN_INIT_OPTIONS = exports.loggerCtx = void 0;
|
|
4
|
+
exports.loggerCtx = "MolliePlugin";
|
|
5
|
+
exports.PLUGIN_INIT_OPTIONS = Symbol("PLUGIN_INIT_OPTIONS");
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/mollie/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,cAAc,CAAC;AAC3B,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CustomFieldConfig, Order, CustomOrderFields } from "@deenruv/core";
|
|
2
|
+
export interface OrderWithMollieReference extends Order {
|
|
3
|
+
customFields: CustomOrderFields & {
|
|
4
|
+
mollieOrderId?: string;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export declare const orderCustomFields: CustomFieldConfig[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.orderCustomFields = void 0;
|
|
4
|
+
exports.orderCustomFields = [
|
|
5
|
+
{
|
|
6
|
+
name: "mollieOrderId",
|
|
7
|
+
type: "string",
|
|
8
|
+
internal: true,
|
|
9
|
+
nullable: true,
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=custom-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../src/mollie/custom-fields.ts"],"names":[],"mappings":";;;AAQa,QAAA,iBAAiB,GAAwB;IACpD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { MollieClient, Order as MollieOrder } from "@mollie/api-client";
|
|
2
|
+
import { Amount } from "@mollie/api-client/dist/types/src/data/global";
|
|
3
|
+
/**
|
|
4
|
+
* Create an extended Mollie client that also supports the manage order lines endpoint, because
|
|
5
|
+
* the NodeJS client doesn't support it yet.
|
|
6
|
+
*
|
|
7
|
+
* See https://docs.mollie.com/reference/v2/orders-api/manage-order-lines
|
|
8
|
+
* FIXME: Remove this when the NodeJS client supports it.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createExtendedMollieClient(options: {
|
|
11
|
+
apiKey: string;
|
|
12
|
+
}): ExtendedMollieClient;
|
|
13
|
+
export interface ExtendedMollieClient extends MollieClient {
|
|
14
|
+
/**
|
|
15
|
+
* Update all order lines in 1 request.
|
|
16
|
+
*/
|
|
17
|
+
manageOrderLines(orderId: string, input: ManageOrderLineInput): Promise<MollieOrder>;
|
|
18
|
+
}
|
|
19
|
+
interface CancelOperation {
|
|
20
|
+
operation: "cancel";
|
|
21
|
+
data: {
|
|
22
|
+
id: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface UpdateOperation {
|
|
26
|
+
operation: "update";
|
|
27
|
+
data: {
|
|
28
|
+
id: string;
|
|
29
|
+
name?: string;
|
|
30
|
+
quantity?: number;
|
|
31
|
+
unitPrice?: Amount;
|
|
32
|
+
totalAmount?: Amount;
|
|
33
|
+
vatRate?: string;
|
|
34
|
+
vatAmount?: Amount;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
interface AddOperation {
|
|
38
|
+
operation: "add";
|
|
39
|
+
data: {
|
|
40
|
+
name: string;
|
|
41
|
+
quantity: number;
|
|
42
|
+
unitPrice: Amount;
|
|
43
|
+
totalAmount: Amount;
|
|
44
|
+
vatRate: string;
|
|
45
|
+
vatAmount: Amount;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export interface ManageOrderLineInput {
|
|
49
|
+
operations: Array<CancelOperation | AddOperation | UpdateOperation>;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createExtendedMollieClient = void 0;
|
|
7
|
+
const api_client_1 = __importDefault(require("@mollie/api-client"));
|
|
8
|
+
// We depend on the axios dependency from '@mollie/api-client'
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
/**
|
|
11
|
+
* Create an extended Mollie client that also supports the manage order lines endpoint, because
|
|
12
|
+
* the NodeJS client doesn't support it yet.
|
|
13
|
+
*
|
|
14
|
+
* See https://docs.mollie.com/reference/v2/orders-api/manage-order-lines
|
|
15
|
+
* FIXME: Remove this when the NodeJS client supports it.
|
|
16
|
+
*/
|
|
17
|
+
function createExtendedMollieClient(options) {
|
|
18
|
+
const client = (0, api_client_1.default)(options);
|
|
19
|
+
// Add our custom method
|
|
20
|
+
client.manageOrderLines = async (orderId, input) => {
|
|
21
|
+
const instance = axios_1.default.create({
|
|
22
|
+
baseURL: `https://api.mollie.com`,
|
|
23
|
+
timeout: 5000,
|
|
24
|
+
headers: {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
Authorization: `Bearer ${options.apiKey}`,
|
|
27
|
+
},
|
|
28
|
+
validateStatus: () => true, // We handle errors ourselves, for better error messages
|
|
29
|
+
});
|
|
30
|
+
const { status, data } = await instance.patch(`/v2/orders/${orderId}/lines`, input);
|
|
31
|
+
if (status < 200 || status > 300) {
|
|
32
|
+
throw Error(JSON.stringify(data, null, 2));
|
|
33
|
+
}
|
|
34
|
+
return data;
|
|
35
|
+
};
|
|
36
|
+
return client;
|
|
37
|
+
}
|
|
38
|
+
exports.createExtendedMollieClient = createExtendedMollieClient;
|
|
39
|
+
//# sourceMappingURL=extended-mollie-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-mollie-client.js","sourceRoot":"","sources":["../../src/mollie/extended-mollie-client.ts"],"names":[],"mappings":";;;;;;AAAA,oEAG4B;AAE5B,8DAA8D;AAC9D,kDAA6C;AAG7C;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,OAE1C;IACC,MAAM,MAAM,GAAG,IAAA,oBAAkB,EAAC,OAAO,CAAyB,CAAC;IACnE,wBAAwB;IACxB,MAAM,CAAC,gBAAgB,GAAG,KAAK,EAC7B,OAAe,EACf,KAA2B,EACL,EAAE;QACxB,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE;aAC1C;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,wDAAwD;SACrF,CAAC,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC3C,cAAc,OAAO,QAAQ,EAC7B,KAAK,CACN,CAAC;QACF,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE;YAChC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AA5BD,gEA4BC"}
|