UNPKG

@vigilio/payments

Version:

Payments niubiz, paypal, etc.

198 lines 8.78 kB
import { __awaiter, __generator } from "tslib"; // https://developer.paypal.com/docs/api/orders/v2/ function usePaypal(authProps) { function accessToken() { return __awaiter(this, void 0, void 0, function () { var params, auth, tokenResponse, tokenResult, token; return __generator(this, function (_a) { switch (_a.label) { case 0: params = new URLSearchParams(); params.append("grant_type", "client_credentials"); auth = btoa("".concat(authProps.client_id, ":").concat(authProps.secret_key)); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v1/oauth2/token"), { method: "POST", body: params, headers: { "Content-Type": "application/json", Authorization: "Basic ".concat(auth), }, })]; case 1: tokenResponse = _a.sent(); return [4 /*yield*/, tokenResponse.json()]; case 2: tokenResult = _a.sent(); token = tokenResult.access_token; return [2 /*return*/, token]; } }); }); } function createOrder(props) { return __awaiter(this, void 0, void 0, function () { var token, response, result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, accessToken()]; case 1: token = _a.sent(); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v2/checkout/orders"), { method: "POST", body: JSON.stringify(props), headers: { "Content-Type": "application/json", Authorization: "Bearer ".concat(token), }, })]; case 2: response = _a.sent(); return [4 /*yield*/, response.json()]; case 3: result = _a.sent(); return [2 /*return*/, result]; } }); }); } function showOrder(id) { return __awaiter(this, void 0, void 0, function () { var token, response, result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, accessToken()]; case 1: token = _a.sent(); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v2/checkout/orders/").concat(id), { method: "GET", headers: { "Content-Type": "application/json", Authorization: "Bearer ".concat(token), }, })]; case 2: response = _a.sent(); return [4 /*yield*/, response.json()]; case 3: result = _a.sent(); return [2 /*return*/, result]; } }); }); } function updateOrder(id, props) { return __awaiter(this, void 0, void 0, function () { var token, response, result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, accessToken()]; case 1: token = _a.sent(); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v2/checkout/orders/").concat(id), { method: "PATCH", body: JSON.stringify(props), headers: { "Content-Type": "application/json", Authorization: "Bearer ".concat(token), }, })]; case 2: response = _a.sent(); return [4 /*yield*/, response.json()]; case 3: result = _a.sent(); return [2 /*return*/, result]; } }); }); } function confirmOrder(id, props) { return __awaiter(this, void 0, void 0, function () { var token, response, result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, accessToken()]; case 1: token = _a.sent(); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v2/checkout/orders/").concat(id, "/confirm-payment-source"), { method: "PATCH", body: JSON.stringify(props), headers: { "Content-Type": "application/json", Authorization: "Bearer ".concat(token), }, })]; case 2: response = _a.sent(); return [4 /*yield*/, response.json()]; case 3: result = _a.sent(); return [2 /*return*/, result]; } }); }); } function authorizeOrder(id, props) { return __awaiter(this, void 0, void 0, function () { var token, response, result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, accessToken()]; case 1: token = _a.sent(); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v2/checkout/orders/").concat(id, "/authorize"), { method: "POST", body: JSON.stringify(props), headers: { "Content-Type": "application/json", Authorization: "Bearer ".concat(token), }, })]; case 2: response = _a.sent(); return [4 /*yield*/, response.json()]; case 3: result = _a.sent(); return [2 /*return*/, result]; } }); }); } function captureOrder(id, props) { return __awaiter(this, void 0, void 0, function () { var token, response, result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, accessToken()]; case 1: token = _a.sent(); return [4 /*yield*/, fetch("".concat(authProps.sandbox, "/v2/checkout/orders/").concat(id, "/capture"), { method: "POST", body: JSON.stringify(props), headers: { "Content-Type": "application/json", Authorization: "Bearer ".concat(token), }, })]; case 2: response = _a.sent(); return [4 /*yield*/, response.json()]; case 3: result = _a.sent(); return [2 /*return*/, result]; } }); }); } return { accessToken: accessToken, createOrder: createOrder, showOrder: showOrder, confirmOrder: confirmOrder, authorizeOrder: authorizeOrder, updateOrder: updateOrder, captureOrder: captureOrder, }; } export default usePaypal; //# sourceMappingURL=paypal.js.map