@queelabs/connectors-coinbase 0.0.1 → 0.0.2
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/README.md +5 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -14
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
ADDED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MppPaymentAdapter } from "@queelabs/
|
|
1
|
+
import type { MppPaymentAdapter } from "@queelabs/connectors-contracts";
|
|
2
2
|
/**
|
|
3
3
|
* Coinbase Commerce adapter (MPP-shaped): creates charges via the
|
|
4
4
|
* Coinbase Commerce API and verifies their completion status.
|
|
@@ -6,5 +6,9 @@ import type { MppPaymentAdapter } from "@queelabs/core";
|
|
|
6
6
|
* Requires `COINBASE_COMMERCE_API_KEY` (from
|
|
7
7
|
* https://beta.commerce.coinbase.com/settings/security).
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export type CoinbaseMppConnectorOptions = {
|
|
10
|
+
apiKey?: string;
|
|
11
|
+
checkoutBaseUrl?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function createCoinbaseMppConnector(opts?: CoinbaseMppConnectorOptions): MppPaymentAdapter;
|
|
10
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AAaxC;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,2BAAgC,GACrC,iBAAiB,CAmKnB"}
|
package/dist/index.js
CHANGED
|
@@ -8,20 +8,14 @@ function readString(source, key) {
|
|
|
8
8
|
const value = source[key];
|
|
9
9
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
* Coinbase Commerce adapter (MPP-shaped): creates charges via the
|
|
13
|
-
* Coinbase Commerce API and verifies their completion status.
|
|
14
|
-
*
|
|
15
|
-
* Requires `COINBASE_COMMERCE_API_KEY` (from
|
|
16
|
-
* https://beta.commerce.coinbase.com/settings/security).
|
|
17
|
-
*/
|
|
18
|
-
export function createCoinbaseMppConnector() {
|
|
11
|
+
export function createCoinbaseMppConnector(opts = {}) {
|
|
19
12
|
return {
|
|
20
13
|
async createPurchaseChallenge(input) {
|
|
21
|
-
const apiKey = process.env.COINBASE_COMMERCE_API_KEY;
|
|
14
|
+
const apiKey = opts.apiKey ?? process.env.COINBASE_COMMERCE_API_KEY;
|
|
22
15
|
if (!apiKey) {
|
|
23
16
|
throw new Error("COINBASE_COMMERCE_API_KEY is not set");
|
|
24
17
|
}
|
|
18
|
+
const checkoutBaseUrl = (opts.checkoutBaseUrl ?? process.env.QUEE_CHECKOUT_BASE_URL)?.replace(/\/+$/, "");
|
|
25
19
|
const response = await fetch("https://api.commerce.coinbase.com/charges", {
|
|
26
20
|
method: "POST",
|
|
27
21
|
headers: {
|
|
@@ -41,11 +35,11 @@ export function createCoinbaseMppConnector() {
|
|
|
41
35
|
orderId: input.orderId,
|
|
42
36
|
marketplaceId: input.marketplaceId,
|
|
43
37
|
},
|
|
44
|
-
redirect_url:
|
|
45
|
-
? `${
|
|
38
|
+
redirect_url: checkoutBaseUrl
|
|
39
|
+
? `${checkoutBaseUrl}/pay/${input.orderId}/success`
|
|
46
40
|
: undefined,
|
|
47
|
-
cancel_url:
|
|
48
|
-
? `${
|
|
41
|
+
cancel_url: checkoutBaseUrl
|
|
42
|
+
? `${checkoutBaseUrl}/pay/${input.orderId}/cancel`
|
|
49
43
|
: undefined,
|
|
50
44
|
}),
|
|
51
45
|
});
|
|
@@ -72,7 +66,7 @@ export function createCoinbaseMppConnector() {
|
|
|
72
66
|
};
|
|
73
67
|
},
|
|
74
68
|
async verifyPurchase(input) {
|
|
75
|
-
const apiKey = process.env.COINBASE_COMMERCE_API_KEY;
|
|
69
|
+
const apiKey = opts.apiKey ?? process.env.COINBASE_COMMERCE_API_KEY;
|
|
76
70
|
if (!apiKey) {
|
|
77
71
|
throw new Error("COINBASE_COMMERCE_API_KEY is not set");
|
|
78
72
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAcD,MAAM,UAAU,0BAA0B,CACxC,OAAoC,EAAE;IAEtC,OAAO;QACL,KAAK,CAAC,uBAAuB,CAC3B,KAA2B;YAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,eAAe,GAAG,CACtB,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAC3D,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAEvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,2CAA2C,EAAE;gBACxE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,MAAM;oBACtB,cAAc,EAAE,YAAY;oBAC5B,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,SAAS,KAAK,CAAC,OAAO,EAAE;oBAC9B,WAAW,EAAE,cAAc,KAAK,CAAC,OAAO,EAAE;oBAC1C,YAAY,EAAE,aAAa;oBAC3B,WAAW,EAAE;wBACX,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;qBACvC;oBACD,QAAQ,EAAE;wBACR,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;qBACnC;oBACD,YAAY,EAAE,eAAe;wBAC3B,CAAC,CAAC,GAAG,eAAe,QAAQ,KAAK,CAAC,OAAO,UAAU;wBACnD,CAAC,CAAC,SAAS;oBACb,UAAU,EAAE,eAAe;wBACzB,CAAC,CAAC,GAAG,eAAe,QAAQ,KAAK,CAAC,OAAO,SAAS;wBAClD,CAAC,CAAC,SAAS;iBACd,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACzF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAI,IAA0C,CAAC,IAAI,CAAC;YAEhE,OAAO;gBACL,WAAW,EAAE,eAAe,KAAK,CAAC,OAAO,EAAE;gBAC3C,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE;oBACP,IAAI,EAAE,6BAA6B;oBACnC,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE;wBACR,WAAW,EAAE,MAAM,CAAC,UAAoB;wBACxC,QAAQ,EAAE,MAAM,CAAC,EAAY;wBAC7B,UAAU,EAAE,MAAM,CAAC,IAAc;qBAClC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,KAAyB;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YACtE,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAsC,CAAC;YAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAwC,CAAC;YAClE,MAAM,eAAe,GACnB,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,gBAAgB,CAAC;YACpE,MAAM,iBAAiB,GACrB,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,KAAK,kBAAkB,CAAC;YAC5E,IAAI,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,IAAI,UAAU,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,6CAA6C,kBAAkB,CAAC,QAAS,CAAC,EAAE,EAC5E;gBACE,OAAO,EAAE;oBACP,cAAc,EAAE,MAAM;oBACtB,cAAc,EAAE,YAAY;iBAC7B;aACF,CACF,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAI,IAA0C,CAAC,IAAI,CAAC;YAChE,IACE,CAAC,gBAAgB,IAAI,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC;gBACpD,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,EAC1D,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA+D,CAAC;YACxF,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;YAE3D,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,2DAA2D,UAAU,GAAG,CACzE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,IACE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE;gBACjD,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,EACpC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,QAAQ,EAAE,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,cAAc,EAAE;oBACd,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU,EAAE,UAAU;oBACtB,KAAK;oBACL,iBAAiB,EAAE,MAAM,CAAC,EAAY;oBACtC,UAAU,EAAE,MAAM,CAAC,IAAc;oBACjC,YAAY,EAAE,UAAU;iBACzB;gBACD,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@queelabs/connectors-coinbase",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Coinbase payment connector for Quee",
|
|
6
6
|
"type": "module",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@queelabs/
|
|
27
|
+
"@queelabs/connectors-contracts": "0.0.2"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^22.10.2",
|