You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/core/types/src/tax/provider.ts
+11-39Lines changed: 11 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -38,55 +38,28 @@ export type ItemTaxCalculationLine = {
38
38
}
39
39
40
40
/**
41
-
* ## Overview
41
+
*
42
+
*
43
+
* ### Identifier Property
42
44
*
43
-
* A tax provider is used to retrieve the tax lines in a provided context. The Tax Module provides a default `system` provider. You can create your own tax provider,
44
-
* either in a plugin, in a provider module, or directly in your Medusa application's codebase, then use it in any tax region.
45
-
*
46
-
* ---
47
-
*
48
-
* ## How to Create a Tax Provider
49
-
*
50
-
* A tax provider class is defined in a TypeScript or JavaScript file. The class must implement the
51
-
* `ITaxProvider` interface imported from `@medusajs/framework/types`.
52
-
*
53
-
* The file can be defined in a plugin, a provider module, or under the `src/services` directory of your Medusa application. You can later pass the package's name or the
54
-
* path to the file in the `providers` option of the Tax Module.
55
-
*
56
-
* For example:
57
-
*
58
-
* ```ts title="src/services/my-tax.ts"
59
-
* import { ITaxProvider } from "@medusajs/framework/types"
60
-
*
61
-
* export default class MyTaxProvider implements ITaxProvider {
62
-
* // ...
63
-
* }
64
-
* ```
65
-
*
66
-
* ---
67
-
*
68
-
* ## Identifier Property
69
-
*
70
-
* The `identifier` property in a tax provider is used when the tax provider is registered in the dependency container or added to the database. A tax provider is represented in the database by the `TaxProvider` data model.
45
+
* The `identifier` property in a tax provider is used when the tax provider is loaded by the Tax Module and added to the database. A tax provider is represented in the database by the `TaxProvider` data model.
71
46
*
72
47
* For example:
73
48
*
74
-
* ```ts title="src/services/my-tax.ts"
49
+
* ```ts title="src/modules/my-tax/service.ts"
75
50
* export default class MyTaxProvider implements ITaxProvider {
76
51
* static identifier = "my-tax"
77
52
* // ...
78
53
* }
79
54
* ```
80
55
*
81
-
* ---
56
+
* ### constructor
82
57
*
83
-
* ## Constructor
84
-
*
85
-
* You can use the `constructor` of your tax provider to access the resources registered in the dependency container.
58
+
* You can use the `constructor` of your tax provider to access the resources registered in the [Module Container](https://docs.medusajs.com/resources/medusa-container-resources#module-container-resources).
86
59
*
87
60
* You can also use the constructor to initialize your integration with the third-party provider. For example, if you use a client to connect to the third-party provider’s APIs, you can initialize it in the constructor and use it in other methods in the service.
88
61
*
89
-
* Additionally, if you’re creating your tax provider as a plugin or a provider module to be installed in any Medusa application and you want to access its options, you can access them in the constructor.
62
+
* Additionally, if you’re creating your tax provider as a plugin or a module provider to be installed in any Medusa application and you want to access its options, you can access them in the second parameter of the constructor.
0 commit comments