@idonatedev/idonate-sdk 1.0.5-dev4 → 1.0.7-dev
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 +2 -8
- package/dist/apple-pay.js +14 -9
- package/dist/config-handler.d.ts +8 -8
- package/dist/config-handler.js +4 -4
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +2 -2
- package/dist/google-pay.js +1 -1
- package/dist/idonate-client.d.ts +10 -6
- package/dist/idonate-client.js +21 -30
- package/dist/index.js +6 -2
- package/dist/shared.js +4 -4
- package/dist/tokenize/cardconnect.js +2 -2
- package/dist/tokenize/iats.js +1 -1
- package/dist/tokenize/spreedly.d.ts +0 -44
- package/dist/tokenize/spreedly.js +7 -107
- package/dist/typeAdapters.d.ts +2 -2
- package/dist/typeAdapters.js +2 -6
- package/dist/types.d.ts +36 -36
- package/dist/types.js +3 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.js +1 -1
- package/package.json +6 -6
- package/umd/idonate-sdk.js +1 -1
package/README.md
CHANGED
|
@@ -4,12 +4,6 @@ Javascript libraries for integrating with iDonate services.
|
|
|
4
4
|
A rough usage example can be found below the Changelog.
|
|
5
5
|
|
|
6
6
|
# Changes
|
|
7
|
-
## 1.0.5
|
|
8
|
-
* Further internal refinements around Spreedly tokenization
|
|
9
|
-
|
|
10
|
-
## 1.0.4
|
|
11
|
-
* Mitigations for Spreedly tokenization outage
|
|
12
|
-
|
|
13
7
|
## 1.0.3
|
|
14
8
|
* Configure `apple_pay_url` from environment and sandbox configuration, fixing Apple Pay sandbox issues introduced
|
|
15
9
|
in 1.0.1
|
|
@@ -36,7 +30,7 @@ A rough usage example can be found below the Changelog.
|
|
|
36
30
|
(`"checking"` or `"savings"`). Before this change, `"personal"` and `"checking"` were assumed.
|
|
37
31
|
* tokenizeCardConnectBankAccount will throw a ClientError on error. The raw result can still be obtained from the error
|
|
38
32
|
payload as `_rawResult`.
|
|
39
|
-
* mark `
|
|
33
|
+
* mark `createTansaction` as deprecated - still supported, but should be replaced with `createDonation`, taking the same
|
|
40
34
|
input but capable of returning schedule data and handling schedules that do not result in an immediate transaction.
|
|
41
35
|
* `createPaymentMethod` and `createDonation` take an additional *required* option: `recaptchaType` - for most Organization
|
|
42
36
|
use cases, the value of `recaptchaType` should be `"organization"`.
|
|
@@ -92,7 +86,7 @@ A rough usage example can be found below the Changelog.
|
|
|
92
86
|
<meta charset="UTF-8" />
|
|
93
87
|
<title>createTransaction demo, with reCaptcha</title>
|
|
94
88
|
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
|
|
95
|
-
<script src="https://unpkg.com/@idonatedev/idonate-sdk@1.0.
|
|
89
|
+
<script src="https://unpkg.com/@idonatedev/idonate-sdk@1.0.0"></script>
|
|
96
90
|
</head>
|
|
97
91
|
<body>
|
|
98
92
|
<button type="button" onclick="grecaptcha.execute()">Submit</button>
|
package/dist/apple-pay.js
CHANGED
|
@@ -25,15 +25,20 @@ var ApplePay = (function () {
|
|
|
25
25
|
ApplePaySession.supportsVersion(ApplePay.ApplePayApiVersion));
|
|
26
26
|
};
|
|
27
27
|
ApplePay.prototype.begin = function () {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
var _this = this;
|
|
29
|
+
return new Promise(function (resolve, reject) {
|
|
30
|
+
if (!ApplePay.isSupported()) {
|
|
31
|
+
reject(new Error('Apple Pay Not Supported'));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
_this.appleSession = new ApplePaySession(ApplePay.ApplePayApiVersion, _this.paymentRequest);
|
|
35
|
+
_this.appleSession.begin();
|
|
36
|
+
resolve(_this.appleSession);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
34
39
|
};
|
|
35
40
|
ApplePay.prototype.createSession = function (payload, embedApiBaseUrl) {
|
|
36
|
-
return fetch(embedApiBaseUrl
|
|
41
|
+
return fetch("".concat(embedApiBaseUrl, "/payment/create-session"), {
|
|
37
42
|
method: 'POST',
|
|
38
43
|
headers: constants_1.CLIENT_HEADERS,
|
|
39
44
|
body: JSON.stringify(payload),
|
|
@@ -47,8 +52,8 @@ var ApplePay = (function () {
|
|
|
47
52
|
var eckey = paymentData.header.ephemeralPublicKey;
|
|
48
53
|
var ectid = paymentData.header.transactionId;
|
|
49
54
|
var ecpublickeyhash = paymentData.header.publicKeyHash;
|
|
50
|
-
var dataString = token
|
|
51
|
-
return fetch(cardConnectBaseUrl
|
|
55
|
+
var dataString = "".concat(token, "&ectype=").concat(ectype, "&ecsig=").concat(ecsig, "&eckey=").concat(eckey, "&ectid=").concat(ectid, "&echash=&ecpublickeyhash=").concat(ecpublickeyhash);
|
|
56
|
+
return fetch("".concat(cardConnectBaseUrl, "/cardsecure/api/v1/ccn/tokenize"), {
|
|
52
57
|
method: 'POST',
|
|
53
58
|
headers: {
|
|
54
59
|
'Content-Type': 'application/json',
|
package/dist/config-handler.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ClientOptions } from './types';
|
|
2
2
|
export default class ConfigHandler {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
apiBaseUrl: string;
|
|
4
|
+
embedApiBaseUrl: string;
|
|
5
|
+
cardConnectBaseUrl: string;
|
|
6
|
+
cardConnectTokenizerUrl: string;
|
|
7
|
+
authApiBaseUrl: string;
|
|
8
|
+
donorApiBaseUrl: string;
|
|
9
|
+
spreedlyEnvironmentKey: string | undefined;
|
|
10
|
+
applePayUrl: string;
|
|
11
11
|
constructor(options: Partial<ClientOptions>);
|
|
12
12
|
}
|
package/dist/config-handler.js
CHANGED
|
@@ -17,18 +17,18 @@ var ConfigHandler = (function () {
|
|
|
17
17
|
this.apiBaseUrl = options.overrideBaseUrl;
|
|
18
18
|
}
|
|
19
19
|
this.authApiBaseUrl =
|
|
20
|
-
options.overrideAuthApiBaseUrl || this.apiBaseUrl
|
|
20
|
+
options.overrideAuthApiBaseUrl || "".concat(this.apiBaseUrl, "/auth");
|
|
21
21
|
this.donorApiBaseUrl =
|
|
22
|
-
options.overrideDonorApiBaseUrl || this.apiBaseUrl
|
|
22
|
+
options.overrideDonorApiBaseUrl || "".concat(this.apiBaseUrl, "/donor");
|
|
23
23
|
this.embedApiBaseUrl =
|
|
24
|
-
options.overrideEmbedApiBaseUrl || this.apiBaseUrl
|
|
24
|
+
options.overrideEmbedApiBaseUrl || "".concat(this.apiBaseUrl, "/embed");
|
|
25
25
|
if (options.overrideApplePayUrl) {
|
|
26
26
|
this.applePayUrl = options.overrideApplePayUrl;
|
|
27
27
|
}
|
|
28
28
|
if (options === null || options === void 0 ? void 0 : options.spreedlyEnvironmentKey) {
|
|
29
29
|
this.spreedlyEnvironmentKey = options.spreedlyEnvironmentKey;
|
|
30
30
|
}
|
|
31
|
-
this.cardConnectTokenizerUrl = this.cardConnectBaseUrl
|
|
31
|
+
this.cardConnectTokenizerUrl = "".concat(this.cardConnectBaseUrl, "/itoke/ajax-tokenizer.html");
|
|
32
32
|
}
|
|
33
33
|
return ConfigHandler;
|
|
34
34
|
}());
|
package/dist/constants.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare const PRODUCTION_BASE_URL = "https://api.idonate.com";
|
|
|
2
2
|
export declare const SANDBOX_BASE_URL = "https://staging-api.idonate.com";
|
|
3
3
|
export declare const PRODUCTION_CARD_CONNECT_BASE_URL = "https://boltgw.cardconnect.com:8443";
|
|
4
4
|
export declare const SANDBOX_CARD_CONNECT_BASE_URL = "https://boltgw-uat.cardconnect.com";
|
|
5
|
-
export declare const SPREEDLY_TOKENIZER_URL = "https://core.spreedly.com/v1/payment_methods.json";
|
|
5
|
+
export declare const SPREEDLY_TOKENIZER_URL = "https://core.spreedly.com/v1/payment_methods.json?";
|
|
6
6
|
export declare const APPLE_PAY_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession";
|
|
7
7
|
export declare const SANDBOX_APPLE_PAY_URL = "https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession";
|
|
8
8
|
export declare const CARD_CONNECT_DEFAULT_STYLE: string;
|
package/dist/constants.js
CHANGED
|
@@ -5,11 +5,11 @@ exports.PRODUCTION_BASE_URL = 'https://api.idonate.com';
|
|
|
5
5
|
exports.SANDBOX_BASE_URL = 'https://staging-api.idonate.com';
|
|
6
6
|
exports.PRODUCTION_CARD_CONNECT_BASE_URL = 'https://boltgw.cardconnect.com:8443';
|
|
7
7
|
exports.SANDBOX_CARD_CONNECT_BASE_URL = 'https://boltgw-uat.cardconnect.com';
|
|
8
|
-
exports.SPREEDLY_TOKENIZER_URL = 'https://core.spreedly.com/v1/payment_methods.json';
|
|
8
|
+
exports.SPREEDLY_TOKENIZER_URL = 'https://core.spreedly.com/v1/payment_methods.json?';
|
|
9
9
|
exports.APPLE_PAY_URL = 'https://apple-pay-gateway.apple.com/paymentservices/paymentSession';
|
|
10
10
|
exports.SANDBOX_APPLE_PAY_URL = 'https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession';
|
|
11
11
|
exports.CARD_CONNECT_DEFAULT_STYLE = "\nbody {\n margin: 0;\n}\n\nform {\n display: flex;\n}\n\nlabel#cccardlabel {\n display: none;\n}\n\nbr {\n display: none;\n}\n\nlabel#cccvvlabel {\n display: none;\n}\n\nlabel#ccexpirylabel {\n display: none;\n}\n\ninput {\n padding: 10px;\n}\n\nselect {\n padding: 10px;\n font-size: 14px;\n color: #8b959d;\n}\n\nselect#ccexpirymonth {\n margin-right: -30px;\n border: 1px solid #b6b8ba;\n border-right: 0;\n}\n\ninput#ccnumfield {\n width: 70%;\n border: 1px solid #b6b8ba;\n border-right: 0;\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n font-size: 14px;\n color: #8b959d;\n}\n\nselect#ccexpiryyear {\n border: 1px solid #b6b8ba;\n border-right: 0;\n}\n\ninput#cccvvfield {\n border: 1px solid #b6b8ba;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n font-size: 14px;\n color: #8b959d;\n}\n".replace(/\s+/gi, ' ');
|
|
12
12
|
exports.CLIENT_HEADERS = {
|
|
13
|
-
'User-Agent': navigator.userAgent + ' idonate-sdk@1.0.
|
|
13
|
+
'User-Agent': navigator.userAgent + ' idonate-sdk@1.0.1-alpha.4',
|
|
14
14
|
'Content-Type': 'application/json',
|
|
15
15
|
};
|
package/dist/google-pay.js
CHANGED
|
@@ -138,7 +138,7 @@ var GooglePay = (function () {
|
|
|
138
138
|
});
|
|
139
139
|
};
|
|
140
140
|
GooglePay.prototype.tokenizeWithCardConnect = function (paymentToken, cardConnectBaseUrl) {
|
|
141
|
-
return fetch(cardConnectBaseUrl
|
|
141
|
+
return fetch("".concat(cardConnectBaseUrl, "/cardsecure/api/v1/ccn/tokenize"), {
|
|
142
142
|
method: 'POST',
|
|
143
143
|
headers: {
|
|
144
144
|
'Content-Type': 'application/json',
|
package/dist/idonate-client.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
/// <reference types="applepayjs" />
|
|
2
2
|
import { ACHAccount, Address, ClientOptions, Contact, CreatePaymentMethodRequest, CreatePaymentMethodResult, CreateDonationRequest, CreateDonationResult, CreditCard, TokenizeApplePayResult } from './types';
|
|
3
|
-
import ConfigHandler from './config-handler';
|
|
4
3
|
export default class iDonateClient {
|
|
5
4
|
private readonly clientKey;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
5
|
+
readonly organizationId: string;
|
|
6
|
+
readonly apiBaseUrl: string;
|
|
7
|
+
readonly embedApiBaseUrl: string;
|
|
8
|
+
readonly cardConnectBaseUrl: string;
|
|
9
|
+
readonly cardConnectTokenizerUrl: string;
|
|
10
|
+
readonly authApiBaseUrl: string;
|
|
11
|
+
readonly donorApiBaseUrl: string;
|
|
12
|
+
private readonly spreedlyEnvironmentKey;
|
|
13
|
+
private readonly options;
|
|
14
|
+
private readonly config;
|
|
10
15
|
constructor(clientKey: string, options?: Partial<ClientOptions>);
|
|
11
16
|
createDonation(donation: CreateDonationRequest): Promise<CreateDonationResult>;
|
|
12
17
|
createTransaction(donation: CreateDonationRequest): Promise<{
|
|
@@ -15,7 +20,6 @@ export default class iDonateClient {
|
|
|
15
20
|
}>;
|
|
16
21
|
createPaymentMethod(paymentMethod: CreatePaymentMethodRequest): Promise<CreatePaymentMethodResult>;
|
|
17
22
|
private tokenizeCardConnectBankAccountInternal;
|
|
18
|
-
setOrganizationId(organizationId: string): void;
|
|
19
23
|
tokenizeCardConnectBankAccount(account: ACHAccount): Promise<string>;
|
|
20
24
|
tokenizeSpreedlyCreditCard(data: {
|
|
21
25
|
contact: Contact;
|
package/dist/idonate-client.js
CHANGED
|
@@ -28,34 +28,28 @@ var iDonateClient = (function () {
|
|
|
28
28
|
function iDonateClient(clientKey, options) {
|
|
29
29
|
this.clientKey = clientKey;
|
|
30
30
|
this.options = Object.assign({}, clientDefaults, options);
|
|
31
|
+
this.organizationId = clientKey;
|
|
31
32
|
this.config = new config_handler_1.default(this.options);
|
|
32
|
-
|
|
33
|
+
this.apiBaseUrl = this.config.apiBaseUrl;
|
|
34
|
+
this.cardConnectBaseUrl = this.config.cardConnectBaseUrl;
|
|
35
|
+
this.authApiBaseUrl = this.config.authApiBaseUrl;
|
|
36
|
+
this.donorApiBaseUrl = this.config.donorApiBaseUrl;
|
|
37
|
+
this.embedApiBaseUrl = this.config.embedApiBaseUrl;
|
|
38
|
+
this.spreedlyEnvironmentKey = this.config.spreedlyEnvironmentKey;
|
|
39
|
+
this.cardConnectTokenizerUrl = this.config.cardConnectTokenizerUrl;
|
|
33
40
|
if (this.options.enableSandboxMode && console !== undefined) {
|
|
34
41
|
console.info('[Sandbox] iDonate SDK Configuration:', JSON.parse(JSON.stringify(this)));
|
|
35
42
|
}
|
|
36
|
-
if (!this.currentOrganizationId) {
|
|
37
|
-
this.setOrganizationId(this.clientKey);
|
|
38
|
-
}
|
|
39
43
|
}
|
|
40
|
-
Object.defineProperty(iDonateClient.prototype, "organizationId", {
|
|
41
|
-
get: function () {
|
|
42
|
-
if (!this.currentOrganizationId) {
|
|
43
|
-
throw new Error('organizationId undefined');
|
|
44
|
-
}
|
|
45
|
-
return this.currentOrganizationId;
|
|
46
|
-
},
|
|
47
|
-
enumerable: false,
|
|
48
|
-
configurable: true
|
|
49
|
-
});
|
|
50
44
|
iDonateClient.prototype.createDonation = function (donation) {
|
|
51
|
-
var payload = typeAdapters_1.buildCashPaymentPayload(this.organizationId, donation);
|
|
52
|
-
return fetch(this.
|
|
45
|
+
var payload = (0, typeAdapters_1.buildCashPaymentPayload)(this.organizationId, donation);
|
|
46
|
+
return fetch("".concat(this.embedApiBaseUrl, "/donate/cash-payment"), {
|
|
53
47
|
method: 'POST',
|
|
54
48
|
headers: constants_1.CLIENT_HEADERS,
|
|
55
49
|
body: JSON.stringify(payload),
|
|
56
50
|
})
|
|
57
|
-
.then(function (response) { return util_1.parseResponse(response, { throwErrors: true }); })
|
|
58
|
-
.then(function (response) { return typeAdapters_1.buildDonationResult(response); });
|
|
51
|
+
.then(function (response) { return (0, util_1.parseResponse)(response, { throwErrors: true }); })
|
|
52
|
+
.then(function (response) { return (0, typeAdapters_1.buildDonationResult)(response); });
|
|
59
53
|
};
|
|
60
54
|
iDonateClient.prototype.createTransaction = function (donation) {
|
|
61
55
|
return this.createDonation(donation).then(function (result) {
|
|
@@ -72,9 +66,6 @@ var iDonateClient = (function () {
|
|
|
72
66
|
iDonateClient.prototype.tokenizeCardConnectBankAccountInternal = function (routingNumber, accountNumber) {
|
|
73
67
|
return cardconnect.tokenizeBankAccount(routingNumber, accountNumber, this.config);
|
|
74
68
|
};
|
|
75
|
-
iDonateClient.prototype.setOrganizationId = function (organizationId) {
|
|
76
|
-
this.currentOrganizationId = organizationId;
|
|
77
|
-
};
|
|
78
69
|
iDonateClient.prototype.tokenizeCardConnectBankAccount = function (account) {
|
|
79
70
|
return this.tokenizeCardConnectBankAccountInternal(account.routingNumber, account.accountNumber).then(function (result) {
|
|
80
71
|
if (!result.token || result.errorcode !== 0) {
|
|
@@ -112,7 +103,7 @@ var iDonateClient = (function () {
|
|
|
112
103
|
var paramString = new URLSearchParams(resolvedOptions)
|
|
113
104
|
.toString()
|
|
114
105
|
.replace('+', '%20');
|
|
115
|
-
return this.
|
|
106
|
+
return "".concat(this.cardConnectTokenizerUrl, "?").concat(paramString);
|
|
116
107
|
};
|
|
117
108
|
iDonateClient.prototype.waitForDonationResult = function (donationId) {
|
|
118
109
|
var _this = this;
|
|
@@ -123,7 +114,7 @@ var iDonateClient = (function () {
|
|
|
123
114
|
setTimeout(function () {
|
|
124
115
|
var pollHandle;
|
|
125
116
|
pollHandle = setInterval(function () {
|
|
126
|
-
fetch(_this.
|
|
117
|
+
fetch("".concat(_this.embedApiBaseUrl, "/donate/cash-payment/").concat(donationId, "/payment_status"), {
|
|
127
118
|
method: 'GET',
|
|
128
119
|
headers: {
|
|
129
120
|
'Content-Type': 'application/json',
|
|
@@ -140,7 +131,7 @@ var iDonateClient = (function () {
|
|
|
140
131
|
if (response.error) {
|
|
141
132
|
reject(new types_1.ClientError(response.error));
|
|
142
133
|
}
|
|
143
|
-
resolve(typeAdapters_1.buildDonationResult({
|
|
134
|
+
resolve((0, typeAdapters_1.buildDonationResult)({
|
|
144
135
|
_raw_response: __assign({ campaign: null, designation: {}, donor: {}, form_data: {}, id: null, schedule: {}, transaction: {} }, response),
|
|
145
136
|
}));
|
|
146
137
|
}
|
|
@@ -153,11 +144,11 @@ var iDonateClient = (function () {
|
|
|
153
144
|
};
|
|
154
145
|
iDonateClient.prototype.tokenizeCardConnectApplePay = function (applePayRequest) {
|
|
155
146
|
var _this = this;
|
|
156
|
-
var applePay = new apple_pay_1.default(applePayRequest);
|
|
157
|
-
var merchantSessionId = '';
|
|
158
|
-
var promiseStart = applePay.begin();
|
|
159
147
|
return new Promise(function (resolve, reject) {
|
|
160
|
-
|
|
148
|
+
var applePay = new apple_pay_1.default(applePayRequest);
|
|
149
|
+
var merchantSessionId = '';
|
|
150
|
+
applePay
|
|
151
|
+
.begin()
|
|
161
152
|
.then(function (session) {
|
|
162
153
|
session.onvalidatemerchant = function (event) {
|
|
163
154
|
var validationPayload = {
|
|
@@ -165,7 +156,7 @@ var iDonateClient = (function () {
|
|
|
165
156
|
organization_id: _this.organizationId,
|
|
166
157
|
};
|
|
167
158
|
applePay
|
|
168
|
-
.createSession(validationPayload, _this.
|
|
159
|
+
.createSession(validationPayload, _this.embedApiBaseUrl)
|
|
169
160
|
.then(function (merchantSession) {
|
|
170
161
|
merchantSessionId =
|
|
171
162
|
merchantSession.result.merchantSessionIdentifier;
|
|
@@ -174,7 +165,7 @@ var iDonateClient = (function () {
|
|
|
174
165
|
};
|
|
175
166
|
session.onpaymentauthorized = function (event) {
|
|
176
167
|
applePay
|
|
177
|
-
.tokenizeWithCardConnect(event.payment, _this.
|
|
168
|
+
.tokenizeWithCardConnect(event.payment, _this.cardConnectBaseUrl)
|
|
178
169
|
.then(function (data) {
|
|
179
170
|
var _a, _b;
|
|
180
171
|
var unifiedContact = __assign(__assign({}, event.payment.billingContact), { email: (_a = event.payment.shippingContact) === null || _a === void 0 ? void 0 : _a.emailAddress, phone: (_b = event.payment.shippingContact) === null || _b === void 0 ? void 0 : _b.phoneNumber });
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
exports.GooglePay = exports.ApplePay = exports.constants = exports.recaptcha = exports.ConfigHandler = exports.Client = exports.shared = exports.util = exports.tokenize = void 0;
|
package/dist/shared.js
CHANGED
|
@@ -5,13 +5,13 @@ var typeAdapters_1 = require("./typeAdapters");
|
|
|
5
5
|
var constants_1 = require("./constants");
|
|
6
6
|
var util_1 = require("./util");
|
|
7
7
|
function createPaymentMethod(paymentMethod, config) {
|
|
8
|
-
var payload = typeAdapters_1.buildCreatePaymentMethodPayload(paymentMethod);
|
|
9
|
-
return fetch(config.embedApiBaseUrl
|
|
8
|
+
var payload = (0, typeAdapters_1.buildCreatePaymentMethodPayload)(paymentMethod);
|
|
9
|
+
return fetch("".concat(config.embedApiBaseUrl, "/payment/payment-methods"), {
|
|
10
10
|
method: 'POST',
|
|
11
11
|
headers: constants_1.CLIENT_HEADERS,
|
|
12
12
|
body: JSON.stringify(payload),
|
|
13
13
|
})
|
|
14
|
-
.then(function (response) { return util_1.parseResponse(response, { throwErrors: true }); })
|
|
15
|
-
.then(function (response) { return typeAdapters_1.buildCreatePaymentMethodResult(response); });
|
|
14
|
+
.then(function (response) { return (0, util_1.parseResponse)(response, { throwErrors: true }); })
|
|
15
|
+
.then(function (response) { return (0, typeAdapters_1.buildCreatePaymentMethodResult)(response); });
|
|
16
16
|
}
|
|
17
17
|
exports.createPaymentMethod = createPaymentMethod;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tokenizeBankAccount = void 0;
|
|
4
4
|
function tokenizeBankAccount(routingNumber, accountNumber, config) {
|
|
5
|
-
return fetch(config.cardConnectBaseUrl
|
|
5
|
+
return fetch("".concat(config.cardConnectBaseUrl, "/cardsecure/api/v1/ccn/tokenize"), {
|
|
6
6
|
method: 'POST',
|
|
7
7
|
headers: {
|
|
8
8
|
'Content-Type': 'application/json',
|
|
9
9
|
},
|
|
10
10
|
body: JSON.stringify({
|
|
11
|
-
account: routingNumber
|
|
11
|
+
account: "".concat(routingNumber, "/").concat(accountNumber),
|
|
12
12
|
unique: true,
|
|
13
13
|
}),
|
|
14
14
|
}).then(function (response) { return response.json(); });
|
package/dist/tokenize/iats.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.tokenizePaymentCard = exports.tokenizePaymentBankUs = exports.tokenizePaymentBankCanada = void 0;
|
|
4
4
|
var uuid_1 = require("uuid");
|
|
5
5
|
function tokenizePaymentBankCanada(bankNumber, transitNumber, accountNumber, accountType, processId, relayUrl, gatewayId, contact, address) {
|
|
6
|
-
var newPaymentId = uuid_1.v4();
|
|
6
|
+
var newPaymentId = (0, uuid_1.v4)();
|
|
7
7
|
var streetAddress = address.address1;
|
|
8
8
|
if (address.address2) {
|
|
9
9
|
streetAddress += '\n' + address.address2;
|
|
@@ -14,47 +14,3 @@ export declare function tokenizePayPal(data: {
|
|
|
14
14
|
contact: Contact;
|
|
15
15
|
address: Address;
|
|
16
16
|
}, config: ConfigHandler): Promise<string>;
|
|
17
|
-
interface SpreedlyInstance {
|
|
18
|
-
init(key: string, opts: {
|
|
19
|
-
numberEl: string;
|
|
20
|
-
cvvEl: string;
|
|
21
|
-
}): void;
|
|
22
|
-
on(key: string, func: (param1: any | null, param2: any | null, param3: any | null, param4: any | null) => void): void;
|
|
23
|
-
validate(): void;
|
|
24
|
-
setPlaceholder(fields: string, placeholder: string): void;
|
|
25
|
-
setFieldType(fields: string, placeholder: string): void;
|
|
26
|
-
setStyle(fields: string, placeholder: string): void;
|
|
27
|
-
setNumberFormat(fields: string): void;
|
|
28
|
-
reload(): void;
|
|
29
|
-
tokenizeCreditCard(fields: {
|
|
30
|
-
first_name: string;
|
|
31
|
-
last_name: string;
|
|
32
|
-
month: string;
|
|
33
|
-
year: string;
|
|
34
|
-
email?: string;
|
|
35
|
-
zip?: string;
|
|
36
|
-
}): void;
|
|
37
|
-
removeHandlers(): void;
|
|
38
|
-
}
|
|
39
|
-
declare global {
|
|
40
|
-
interface Window {
|
|
41
|
-
Spreedly: SpreedlyInstance;
|
|
42
|
-
SpreedlyPaymentFrame: new () => SpreedlyInstance;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export declare class SpreedlyAsync {
|
|
46
|
-
private spreedly;
|
|
47
|
-
private tokenPromise;
|
|
48
|
-
private tokenResolve;
|
|
49
|
-
private tokenReject;
|
|
50
|
-
constructor(environmentKey: string, numberEl: string, cvvEl: string, inputStyle?: string);
|
|
51
|
-
tokenizeCreditCard(fields: {
|
|
52
|
-
first_name: string;
|
|
53
|
-
last_name: string;
|
|
54
|
-
month: string;
|
|
55
|
-
year: string;
|
|
56
|
-
email?: string;
|
|
57
|
-
zip?: string;
|
|
58
|
-
}): Promise<string>;
|
|
59
|
-
}
|
|
60
|
-
export {};
|
|
@@ -1,51 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
3
|
+
exports.tokenizePayPal = exports.tokenizeCreditCard = exports.tokenizeBankAccount = void 0;
|
|
40
4
|
var constants_1 = require("../constants");
|
|
41
5
|
var typeAdapters_1 = require("../typeAdapters");
|
|
42
6
|
function tokenizeBankAccount(data, config) {
|
|
43
7
|
if (config.spreedlyEnvironmentKey === undefined) {
|
|
44
8
|
return Promise.reject(new Error('Spreedly is not configured.'));
|
|
45
9
|
}
|
|
46
|
-
return fetch(constants_1.SPREEDLY_TOKENIZER_URL
|
|
47
|
-
'?' +
|
|
48
|
-
new URLSearchParams({ environment_key: config.spreedlyEnvironmentKey }), {
|
|
10
|
+
return fetch(constants_1.SPREEDLY_TOKENIZER_URL, {
|
|
49
11
|
method: 'POST',
|
|
50
12
|
headers: {
|
|
51
13
|
'Content-Type': 'application/json',
|
|
@@ -68,6 +30,7 @@ function tokenizeBankAccount(data, config) {
|
|
|
68
30
|
bank_account_type: data.account.accountType,
|
|
69
31
|
},
|
|
70
32
|
},
|
|
33
|
+
environment_key: config.spreedlyEnvironmentKey,
|
|
71
34
|
retained: false,
|
|
72
35
|
}),
|
|
73
36
|
})
|
|
@@ -79,9 +42,7 @@ function tokenizeCreditCard(data, config) {
|
|
|
79
42
|
if (config.spreedlyEnvironmentKey === undefined) {
|
|
80
43
|
return Promise.reject(new Error('Spreedly is not configured.'));
|
|
81
44
|
}
|
|
82
|
-
return fetch(constants_1.SPREEDLY_TOKENIZER_URL
|
|
83
|
-
'?' +
|
|
84
|
-
new URLSearchParams({ environment_key: config.spreedlyEnvironmentKey }), {
|
|
45
|
+
return fetch(constants_1.SPREEDLY_TOKENIZER_URL, {
|
|
85
46
|
method: 'POST',
|
|
86
47
|
headers: {
|
|
87
48
|
'Content-Type': 'application/json',
|
|
@@ -104,6 +65,7 @@ function tokenizeCreditCard(data, config) {
|
|
|
104
65
|
month: data.card.expirationMonth,
|
|
105
66
|
},
|
|
106
67
|
},
|
|
68
|
+
environment_key: config.spreedlyEnvironmentKey,
|
|
107
69
|
retained: false,
|
|
108
70
|
}),
|
|
109
71
|
})
|
|
@@ -115,9 +77,7 @@ function tokenizePayPal(data, config) {
|
|
|
115
77
|
if (config.spreedlyEnvironmentKey === undefined) {
|
|
116
78
|
return Promise.reject(new Error('Spreedly is not configured.'));
|
|
117
79
|
}
|
|
118
|
-
return fetch(constants_1.SPREEDLY_TOKENIZER_URL
|
|
119
|
-
'?' +
|
|
120
|
-
new URLSearchParams({ environment_key: config.spreedlyEnvironmentKey }), {
|
|
80
|
+
return fetch(constants_1.SPREEDLY_TOKENIZER_URL, {
|
|
121
81
|
method: 'POST',
|
|
122
82
|
headers: {
|
|
123
83
|
'Content-Type': 'application/json',
|
|
@@ -135,6 +95,7 @@ function tokenizePayPal(data, config) {
|
|
|
135
95
|
zip: data.address.zip,
|
|
136
96
|
country: data.address.country,
|
|
137
97
|
},
|
|
98
|
+
environment_key: config.spreedlyEnvironmentKey,
|
|
138
99
|
retained: false,
|
|
139
100
|
}),
|
|
140
101
|
})
|
|
@@ -142,64 +103,3 @@ function tokenizePayPal(data, config) {
|
|
|
142
103
|
.then(typeAdapters_1.extractSpreedlyToken);
|
|
143
104
|
}
|
|
144
105
|
exports.tokenizePayPal = tokenizePayPal;
|
|
145
|
-
var SpreedlyAsync = (function () {
|
|
146
|
-
function SpreedlyAsync(environmentKey, numberEl, cvvEl, inputStyle) {
|
|
147
|
-
var _this = this;
|
|
148
|
-
this.tokenPromise = null;
|
|
149
|
-
this.tokenResolve = null;
|
|
150
|
-
this.tokenReject = null;
|
|
151
|
-
var Spreedly = (this.spreedly = new window.SpreedlyPaymentFrame());
|
|
152
|
-
Spreedly.on('ready', function () {
|
|
153
|
-
Spreedly.setPlaceholder('number', 'Card Number');
|
|
154
|
-
Spreedly.setFieldType('number', 'text');
|
|
155
|
-
Spreedly.setNumberFormat('prettyFormat');
|
|
156
|
-
Spreedly.setPlaceholder('cvv', 'CVV');
|
|
157
|
-
Spreedly.setFieldType('cvv', 'text');
|
|
158
|
-
if (inputStyle) {
|
|
159
|
-
Spreedly.setStyle('number', inputStyle);
|
|
160
|
-
Spreedly.setStyle('cvv', inputStyle);
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
Spreedly.on('errors', function (errors) {
|
|
164
|
-
var errorMessages = errors.map(function (err) { return err.message; });
|
|
165
|
-
var errorMessage = errorMessages.join(' ');
|
|
166
|
-
if (_this.tokenPromise && _this.tokenReject) {
|
|
167
|
-
_this.tokenReject(new Error(errorMessage));
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
throw new Error(errorMessage);
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
Spreedly.on('paymentMethod', function (token) {
|
|
174
|
-
if (_this.tokenPromise && _this.tokenResolve) {
|
|
175
|
-
_this.tokenResolve(token);
|
|
176
|
-
_this.tokenPromise = null;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
throw new Error('No pending tokenization request');
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
Spreedly.init(environmentKey, {
|
|
183
|
-
numberEl: numberEl,
|
|
184
|
-
cvvEl: cvvEl,
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
SpreedlyAsync.prototype.tokenizeCreditCard = function (fields) {
|
|
188
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
189
|
-
var _this = this;
|
|
190
|
-
return __generator(this, function (_a) {
|
|
191
|
-
if (this.tokenPromise) {
|
|
192
|
-
throw new Error('Tokenization already in progress');
|
|
193
|
-
}
|
|
194
|
-
this.tokenPromise = new Promise(function (resolve, reject) {
|
|
195
|
-
_this.tokenResolve = resolve;
|
|
196
|
-
_this.tokenReject = reject;
|
|
197
|
-
_this.spreedly.tokenizeCreditCard(fields);
|
|
198
|
-
});
|
|
199
|
-
return [2, this.tokenPromise];
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
};
|
|
203
|
-
return SpreedlyAsync;
|
|
204
|
-
}());
|
|
205
|
-
exports.SpreedlyAsync = SpreedlyAsync;
|
package/dist/typeAdapters.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare function buildCashPaymentPayload(organizationId: string, input: C
|
|
|
3
3
|
export declare function buildDonationResult(response: ClientResponse): CreateDonationResult;
|
|
4
4
|
export declare function buildCreatePaymentMethodPayload(input: CreatePaymentMethodRequest): {
|
|
5
5
|
gateway_id: string | undefined;
|
|
6
|
-
backend_name: "
|
|
6
|
+
backend_name: import("./types").BackendName | undefined;
|
|
7
7
|
payment_method_type: import("./types").PaymentMethodType;
|
|
8
8
|
payment_method_token: string;
|
|
9
9
|
donor_id: string | undefined;
|
|
@@ -23,6 +23,6 @@ export declare function buildCreatePaymentMethodPayload(input: CreatePaymentMeth
|
|
|
23
23
|
};
|
|
24
24
|
export declare function collapseClientErrors(errors: ClientError[]): ClientError;
|
|
25
25
|
export declare function buildCreatePaymentMethodResult(response: ClientResponse): CreatePaymentMethodResult;
|
|
26
|
-
export
|
|
26
|
+
export type SpreedlyResponse = any;
|
|
27
27
|
export declare function unpackSpreedlyResponse(response: any): Promise<SpreedlyResponse>;
|
|
28
28
|
export declare function extractSpreedlyToken(spreedlyData: SpreedlyResponse): string;
|
package/dist/typeAdapters.js
CHANGED
|
@@ -117,7 +117,7 @@ function buildCashPaymentPayload(organizationId, input) {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
[1, 2, 3, 4, 5].forEach(function (customNoteIndex) {
|
|
120
|
-
var key = "custom_note_"
|
|
120
|
+
var key = "custom_note_".concat(customNoteIndex);
|
|
121
121
|
if (input.customerMeta[key]) {
|
|
122
122
|
donationOptions[key] = input.customerMeta[key];
|
|
123
123
|
delete input.customerMeta[key];
|
|
@@ -147,11 +147,7 @@ function buildDonationResult(response) {
|
|
|
147
147
|
if (response._raw_response.campaign) {
|
|
148
148
|
campaign = response._raw_response.campaign;
|
|
149
149
|
}
|
|
150
|
-
return __assign(__assign({}, response), { campaign: campaign,
|
|
151
|
-
designation: designation,
|
|
152
|
-
donor: donor,
|
|
153
|
-
schedule: schedule,
|
|
154
|
-
transaction: transaction });
|
|
150
|
+
return __assign(__assign({}, response), { campaign: campaign, designation: designation, donor: donor, schedule: schedule, transaction: transaction });
|
|
155
151
|
}
|
|
156
152
|
exports.buildDonationResult = buildDonationResult;
|
|
157
153
|
function buildCreatePaymentMethodPayload(input) {
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="applepayjs" />
|
|
2
2
|
/// <reference types="googlepay" />
|
|
3
|
-
export
|
|
3
|
+
export type ClientOptions = {
|
|
4
4
|
enableSandboxMode?: boolean;
|
|
5
5
|
spreedlyEnvironmentKey?: string;
|
|
6
6
|
overrideBaseUrl?: string;
|
|
@@ -10,7 +10,7 @@ export declare type ClientOptions = {
|
|
|
10
10
|
overrideCardConnectBaseUrl?: string;
|
|
11
11
|
overrideApplePayUrl?: string;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export type Address = {
|
|
14
14
|
address1: string;
|
|
15
15
|
address2?: string;
|
|
16
16
|
country: string;
|
|
@@ -18,7 +18,7 @@ export declare type Address = {
|
|
|
18
18
|
state: string;
|
|
19
19
|
zip: string;
|
|
20
20
|
};
|
|
21
|
-
export
|
|
21
|
+
export type Contact = {
|
|
22
22
|
salutation: string;
|
|
23
23
|
firstName: string;
|
|
24
24
|
middleName?: string;
|
|
@@ -27,33 +27,33 @@ export declare type Contact = {
|
|
|
27
27
|
email: string;
|
|
28
28
|
primaryPhone: string;
|
|
29
29
|
};
|
|
30
|
-
export
|
|
30
|
+
export type CreditCard = {
|
|
31
31
|
cardNumber: string;
|
|
32
32
|
verificationValue?: string;
|
|
33
33
|
expirationMonth: string;
|
|
34
34
|
expirationYear: string;
|
|
35
35
|
};
|
|
36
|
-
export
|
|
36
|
+
export type ACHAccount = {
|
|
37
37
|
accountNumber: string;
|
|
38
38
|
routingNumber: string;
|
|
39
39
|
accountHolderType: 'personal' | 'business';
|
|
40
40
|
accountType: 'checking' | 'savings';
|
|
41
41
|
};
|
|
42
|
-
export
|
|
43
|
-
export
|
|
44
|
-
export
|
|
42
|
+
export type PaymentMethodType = 'credit_card' | 'bank_account' | 'paypal' | 'apple_pay' | 'google_pay';
|
|
43
|
+
export type RecaptchaType = 'v2' | 'v3' | 'invisible' | 'organization' | 'nonce';
|
|
44
|
+
export type RecaptchaSecuredRequest = {
|
|
45
45
|
recaptchaType: RecaptchaType;
|
|
46
46
|
recaptchaToken: string;
|
|
47
47
|
};
|
|
48
|
-
export
|
|
49
|
-
export
|
|
48
|
+
export type RecurringFrequency = 'once' | 'weekly' | 'twicemonthly' | 'biweekly' | 'monthly' | 'quarterly' | 'semiannually' | 'annually';
|
|
49
|
+
export type UTMData = {
|
|
50
50
|
campaign?: string;
|
|
51
51
|
content?: string;
|
|
52
52
|
medium?: string;
|
|
53
53
|
source?: string;
|
|
54
54
|
term?: string;
|
|
55
55
|
};
|
|
56
|
-
export
|
|
56
|
+
export type TributeData = {
|
|
57
57
|
tributeDefinitionId: string;
|
|
58
58
|
tributeFirstName: string;
|
|
59
59
|
tributeLastName: string;
|
|
@@ -75,7 +75,7 @@ export declare type TributeData = {
|
|
|
75
75
|
tributeSkipped: boolean;
|
|
76
76
|
useOnBillingAddress: boolean;
|
|
77
77
|
};
|
|
78
|
-
export
|
|
78
|
+
export type CreateDonationRequest = RecaptchaSecuredRequest & {
|
|
79
79
|
paymentGatewayId: string;
|
|
80
80
|
donorId?: string;
|
|
81
81
|
paymentMethodId: string;
|
|
@@ -119,7 +119,7 @@ export declare type CreateDonationRequest = RecaptchaSecuredRequest & {
|
|
|
119
119
|
embedId?: string;
|
|
120
120
|
convertedToRecurring?: boolean | undefined;
|
|
121
121
|
};
|
|
122
|
-
export
|
|
122
|
+
export type ClientErrorDetails = {
|
|
123
123
|
field?: string;
|
|
124
124
|
code?: string;
|
|
125
125
|
suggestion?: string;
|
|
@@ -130,18 +130,18 @@ export declare class ClientError extends Error {
|
|
|
130
130
|
details?: ClientErrorDetails | undefined;
|
|
131
131
|
constructor(message: string, details?: ClientErrorDetails | undefined);
|
|
132
132
|
}
|
|
133
|
-
export
|
|
133
|
+
export type ClientResponse = {
|
|
134
134
|
errors: ClientError[];
|
|
135
135
|
_raw_response?: any;
|
|
136
136
|
};
|
|
137
|
-
export
|
|
137
|
+
export type CreateDonationResult = ClientResponse & {
|
|
138
138
|
transaction?: Transaction;
|
|
139
139
|
schedule?: Schedule;
|
|
140
140
|
donor?: Donor;
|
|
141
141
|
designation?: Designation;
|
|
142
142
|
campaign?: Campaign;
|
|
143
143
|
};
|
|
144
|
-
export
|
|
144
|
+
export type CreatePaymentMethodRequest = RecaptchaSecuredRequest & {
|
|
145
145
|
paymentMethodType: PaymentMethodType;
|
|
146
146
|
paymentMethodToken: string;
|
|
147
147
|
donorId?: string;
|
|
@@ -150,17 +150,17 @@ export declare type CreatePaymentMethodRequest = RecaptchaSecuredRequest & {
|
|
|
150
150
|
contact: Contact;
|
|
151
151
|
address: Address;
|
|
152
152
|
};
|
|
153
|
-
export
|
|
153
|
+
export type CreatePaymentMethodResult = ClientResponse & {
|
|
154
154
|
paymentMethodId: string;
|
|
155
155
|
};
|
|
156
|
-
export
|
|
156
|
+
export type Campaign = {
|
|
157
157
|
title: string;
|
|
158
158
|
};
|
|
159
|
-
export
|
|
159
|
+
export type Designation = {
|
|
160
160
|
id: string;
|
|
161
161
|
title: string;
|
|
162
162
|
};
|
|
163
|
-
export
|
|
163
|
+
export type Donor = {
|
|
164
164
|
id: string;
|
|
165
165
|
created: string;
|
|
166
166
|
contact: {
|
|
@@ -169,56 +169,56 @@ export declare type Donor = {
|
|
|
169
169
|
title: string;
|
|
170
170
|
};
|
|
171
171
|
};
|
|
172
|
-
export
|
|
172
|
+
export type TokenizeCardConnectResult = {
|
|
173
173
|
token: string;
|
|
174
174
|
message: string;
|
|
175
175
|
errorcode: number;
|
|
176
176
|
};
|
|
177
|
-
export
|
|
178
|
-
export
|
|
177
|
+
export type BackendName = 'spreedly' | 'card_connect' | 'iats';
|
|
178
|
+
export type PaymentGateway = {
|
|
179
179
|
id: string;
|
|
180
180
|
backendName: BackendName;
|
|
181
181
|
};
|
|
182
|
-
export
|
|
182
|
+
export type PaymentMethod = {
|
|
183
183
|
id: string;
|
|
184
184
|
type: PaymentMethodType;
|
|
185
185
|
};
|
|
186
|
-
export
|
|
186
|
+
export type Schedule = {
|
|
187
187
|
id: string;
|
|
188
188
|
recurringFrequency: RecurringFrequency;
|
|
189
189
|
};
|
|
190
|
-
export
|
|
190
|
+
export type Transaction = {
|
|
191
191
|
id: string;
|
|
192
192
|
};
|
|
193
|
-
export
|
|
193
|
+
export type Donation = {
|
|
194
194
|
id: string;
|
|
195
195
|
transaction?: Transaction;
|
|
196
196
|
schedule?: Schedule;
|
|
197
197
|
};
|
|
198
|
-
export
|
|
199
|
-
export
|
|
200
|
-
export
|
|
201
|
-
export
|
|
198
|
+
export type TokenizeCardConnectBankAccountResult = TokenizeCardConnectResult;
|
|
199
|
+
export type TokenizeCardConnectApplePayResult = TokenizeCardConnectResult;
|
|
200
|
+
export type TokenizeCardConnectGooglePayResult = TokenizeCardConnectResult;
|
|
201
|
+
export type ApplePayContact = ApplePayJS.ApplePayPaymentContact & {
|
|
202
202
|
email?: string;
|
|
203
203
|
phone?: string;
|
|
204
204
|
};
|
|
205
|
-
export
|
|
205
|
+
export type TokenizeApplePayResult = {
|
|
206
206
|
applePaySession: ApplePaySession;
|
|
207
207
|
cardConnectResponse: TokenizeCardConnectApplePayResult;
|
|
208
208
|
billingContact?: ApplePayContact;
|
|
209
209
|
merchantSessionId?: string;
|
|
210
210
|
};
|
|
211
|
-
export
|
|
212
|
-
export
|
|
211
|
+
export type MerchantSession = any;
|
|
212
|
+
export type ApplePayMerchantValidationPayload = {
|
|
213
213
|
apple_pay_url: string;
|
|
214
214
|
organization_id: string;
|
|
215
215
|
};
|
|
216
|
-
export
|
|
216
|
+
export type GooglePayConfig = {
|
|
217
217
|
paymentDataRequest: Partial<google.payments.api.PaymentDataRequest>;
|
|
218
218
|
paymentOptions: google.payments.api.PaymentOptions;
|
|
219
219
|
cardConnectMerchantId: string;
|
|
220
220
|
};
|
|
221
|
-
export
|
|
221
|
+
export type GooglePayBaseCardPaymentMethodType = {
|
|
222
222
|
type: google.payments.api.PaymentMethodType;
|
|
223
223
|
parameters: google.payments.api.CardParameters;
|
|
224
224
|
};
|
package/dist/types.js
CHANGED
|
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
10
12
|
extendStatics(d, b);
|
|
11
13
|
function __() { this.constructor = d; }
|
|
12
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
package/dist/util.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ClientResponse } from './types';
|
|
2
2
|
export declare function receiveEmbedData(): Promise<any>;
|
|
3
3
|
export declare function sanitizeString(value: string): string;
|
|
4
|
-
|
|
4
|
+
type SanitizeableObject = {
|
|
5
5
|
[key: string]: SanitizeableObject;
|
|
6
6
|
} | string | boolean | number | SanitizeableObject[];
|
|
7
7
|
export declare function sanitizeArray(array: SanitizeableObject[]): SanitizeableObject[];
|
|
8
8
|
export declare function sanitizeObject(object: SanitizeableObject): SanitizeableObject;
|
|
9
|
-
|
|
9
|
+
type Name = {
|
|
10
10
|
firstName: string;
|
|
11
11
|
lastName: string;
|
|
12
12
|
};
|
package/dist/util.js
CHANGED
|
@@ -113,7 +113,7 @@ function parseResponse(response, opts) {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
if (opts && opts.throwErrors && errors.length) {
|
|
116
|
-
throw typeAdapters_1.collapseClientErrors(errors);
|
|
116
|
+
throw (0, typeAdapters_1.collapseClientErrors)(errors);
|
|
117
117
|
}
|
|
118
118
|
return {
|
|
119
119
|
errors: errors,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idonatedev/idonate-sdk",
|
|
3
3
|
"author": "iDonate",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.7-dev",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "iDonate Web SDK",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"/umd"
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
|
-
"test": "jest",
|
|
16
|
-
"lint": "tslint 'src/**/*.ts'
|
|
17
|
-
"
|
|
15
|
+
"test": "tslint 'src/**/*.ts' && jest",
|
|
16
|
+
"lint": "tslint 'src/**/*.ts'",
|
|
17
|
+
"format": "prettier --write 'src/**/*.ts'",
|
|
18
18
|
"build": "tsc && webpack",
|
|
19
19
|
"watch": "tsc -w"
|
|
20
20
|
},
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"prettier": "^2.0.5",
|
|
25
25
|
"ts-node": "^8.9.1",
|
|
26
26
|
"tslint": "^6.1.2",
|
|
27
|
-
"typescript": "^
|
|
27
|
+
"typescript": "^4.4.3",
|
|
28
28
|
"webpack": "^4.43.0",
|
|
29
29
|
"webpack-cli": "^3.3.12"
|
|
30
30
|
},
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@types/uuid": "^7.0.3",
|
|
36
36
|
"@types/googlepay": "^0.5.0",
|
|
37
37
|
"@types/grecaptcha": "^3.0.1",
|
|
38
|
-
"@types/applepayjs": "^
|
|
38
|
+
"@types/applepayjs": "^14.0.6",
|
|
39
39
|
"uuid": "8.0.0"
|
|
40
40
|
}
|
|
41
41
|
}
|
package/umd/idonate-sdk.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.idonate=t():e.idonate=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CLIENT_HEADERS=t.CARD_CONNECT_DEFAULT_STYLE=t.SANDBOX_APPLE_PAY_URL=t.APPLE_PAY_URL=t.SPREEDLY_TOKENIZER_URL=t.SANDBOX_CARD_CONNECT_BASE_URL=t.PRODUCTION_CARD_CONNECT_BASE_URL=t.SANDBOX_BASE_URL=t.PRODUCTION_BASE_URL=void 0,t.PRODUCTION_BASE_URL="https://api.idonate.com",t.SANDBOX_BASE_URL="https://staging-api.idonate.com",t.PRODUCTION_CARD_CONNECT_BASE_URL="https://boltgw.cardconnect.com:8443",t.SANDBOX_CARD_CONNECT_BASE_URL="https://boltgw-uat.cardconnect.com",t.SPREEDLY_TOKENIZER_URL="https://core.spreedly.com/v1/payment_methods.json",t.APPLE_PAY_URL="https://apple-pay-gateway.apple.com/paymentservices/paymentSession",t.SANDBOX_APPLE_PAY_URL="https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession",t.CARD_CONNECT_DEFAULT_STYLE="\nbody {\n margin: 0;\n}\n\nform {\n display: flex;\n}\n\nlabel#cccardlabel {\n display: none;\n}\n\nbr {\n display: none;\n}\n\nlabel#cccvvlabel {\n display: none;\n}\n\nlabel#ccexpirylabel {\n display: none;\n}\n\ninput {\n padding: 10px;\n}\n\nselect {\n padding: 10px;\n font-size: 14px;\n color: #8b959d;\n}\n\nselect#ccexpirymonth {\n margin-right: -30px;\n border: 1px solid #b6b8ba;\n border-right: 0;\n}\n\ninput#ccnumfield {\n width: 70%;\n border: 1px solid #b6b8ba;\n border-right: 0;\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n font-size: 14px;\n color: #8b959d;\n}\n\nselect#ccexpiryyear {\n border: 1px solid #b6b8ba;\n border-right: 0;\n}\n\ninput#cccvvfield {\n border: 1px solid #b6b8ba;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n font-size: 14px;\n color: #8b959d;\n}\n".replace(/\s+/gi," "),t.CLIENT_HEADERS={"User-Agent":navigator.userAgent+" idonate-sdk@1.0.5","Content-Type":"application/json"}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.extractSpreedlyToken=t.unpackSpreedlyResponse=t.buildCreatePaymentMethodResult=t.collapseClientErrors=t.buildCreatePaymentMethodPayload=t.buildDonationResult=t.buildCashPaymentPayload=void 0;var o=n(2);t.buildCashPaymentPayload=function(e,t){var n,o,a,i,s,c,d,u,l,p,f,y,m,h,_,v,b={country:t.billingAddress.country,address1:t.billingAddress.address1,address2:t.billingAddress.address2,city:t.billingAddress.city,state:t.billingAddress.state,zip_code:t.billingAddress.zip},g={title:t.billingContact.salutation,first_name:t.billingContact.firstName,middle_name:t.billingContact.middleName,last_name:t.billingContact.lastName,company_name:t.billingContact.company,email:t.billingContact.email,home_phone:t.billingContact.primaryPhone,timezone:(new Intl.DateTimeFormat).resolvedOptions().timeZone},P={payment_method_id:t.paymentMethodId,gateway_id:t.paymentGatewayId,amount:t.paymentAmount,type:"cash",frequency:t.recurringFrequency,start_date:t.recurringStart,end_date:t.recurringEnd,retain_on_success:t.retainPaymentMethod},C={organization_id:e,campaign_id:t.campaignId,reference_code:t.referenceCode,double_the_donation_company_id:t.corporateMatchingId,donor_id:t.donorId,hide_name:t.anonymousOptIn,show_name_to_fundraiser:t.showNameToFundraiserOptIn,email_opt_in:t.emailOptIn,donor_paid_fee:t.donorPaidFeeAmount,designation_note:t.designationNote,gift_id:t.giftId,gift_extra:t.giftExtra,gift_skipped:t.giftSkipped,p2p_fundraiser_id:t.p2pFundraiserId,p2p_fundraiser_comment:t.p2pFundraiserComment,organization_event_id:t.organizationEventId,advocate_id:t.advocateId,advocacy_program_id:t.advocacyProgramId,advocacy_team_id:t.advocacyTeamId,page_id:t.landingPageId,embed_id:t.embedId,tribute_definition_id:null===(n=t.tribute)||void 0===n?void 0:n.tributeDefinitionId,tribute_first_name:null===(o=t.tribute)||void 0===o?void 0:o.tributeFirstName,tribute_last_name:null===(a=t.tribute)||void 0===a?void 0:a.tributeLastName,tribute_address1:null===(i=t.tribute)||void 0===i?void 0:i.tributeAddress1,tribute_address2:null===(s=t.tribute)||void 0===s?void 0:s.tributeAddress2,tribute_city:null===(c=t.tribute)||void 0===c?void 0:c.tributeCity,tribute_state:null===(d=t.tribute)||void 0===d?void 0:d.tributeState,tribute_postal_code:null===(u=t.tribute)||void 0===u?void 0:u.tributePostalCode,tribute_country:null===(l=t.tribute)||void 0===l?void 0:l.tributeCountry,tribute_from_name:null===(p=t.tribute)||void 0===p?void 0:p.tributeFromName,tribute_recipient_email:null===(f=t.tribute)||void 0===f?void 0:f.tributeRecipientEmail,honorees:null===(y=t.tribute)||void 0===y?void 0:y.honorees,tribute_send_card:null===(m=t.tribute)||void 0===m?void 0:m.tributeSendCard,tribute_include_amount:null===(h=t.tribute)||void 0===h?void 0:h.tributeIncludeAmount,tribute_skipped:null===(_=t.tribute)||void 0===_?void 0:_.tributeSkipped,useOnBillingAddress:null===(v=t.tribute)||void 0===v?void 0:v.useOnBillingAddress,embed_referer:window.location.href,converted_to_recurring:t.convertedToRecurring};t.designations?C.designations=t.designations:C.designations=[],t.designationId&&C.designations.push([{id:t.designationId,amount:t.paymentAmount}]);var w={};return t.utm&&(t.utm.campaign&&(w.utm_campaign=t.utm.campaign),t.utm.content&&(w.utm_content=t.utm.content),t.utm.medium&&(w.utm_medium=t.utm.medium),t.utm.source&&(w.utm_source=t.utm.source),t.utm.term&&(w.utm_term=t.utm.term)),[1,2,3,4,5].forEach((function(e){var n="custom_note_"+e;t.customerMeta[n]&&(C[n]=t.customerMeta[n],delete t.customerMeta[n])})),r(r(r(r(r(r({},C),b),g),P),w),{customer_meta:t.customerMeta,recaptcha_token:t.recaptchaToken,recaptcha_type:t.recaptchaType})},t.buildDonationResult=function(e){var t,n,o,a,i;return e._raw_response.transaction&&(i=e._raw_response.transaction),e._raw_response.schedule&&(a=e._raw_response.schedule),e._raw_response.donor&&(o=e._raw_response.donor),e._raw_response.designation&&(n=e._raw_response.designation),e._raw_response.campaign&&(t=e._raw_response.campaign),r(r({},e),{campaign:t,designation:n,donor:o,schedule:a,transaction:i})},t.buildCreatePaymentMethodPayload=function(e){return{gateway_id:e.paymentGatewayId,backend_name:e.backendName,payment_method_type:e.paymentMethodType,payment_method_token:e.paymentMethodToken,donor_id:e.donorId,first_name:e.contact.firstName,last_name:e.contact.lastName,company:e.contact.company,email:e.contact.email,phone:e.contact.primaryPhone,country:e.address.country,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip_code:e.address.zip,recaptcha_token:e.recaptchaToken,recaptcha_type:e.recaptchaType}},t.collapseClientErrors=function(e){return new o.ClientError(e.map((function(e){return e.message})).join("<br />"),{_rawPayload:e})},t.buildCreatePaymentMethodResult=function(e){return r(r({},e),{paymentMethodId:e._raw_response.result.id})},t.unpackSpreedlyResponse=function(e){return e.json().then((function(e){if(e.errors)throw new o.ClientError(e.errors.map((function(e){return e.message})).join("<br />"),e);return e}))},t.extractSpreedlyToken=function(e){if(!e.transaction||!e.transaction.payment_method)throw new o.ClientError("Payment Method not tokenized.");return e.transaction.payment_method.token}},function(e,t,n){"use strict";var r,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0}),t.ClientError=void 0;var a=function(e){function t(n,r){var o=e.call(this,n)||this;return o.message=n,o.details=r,Error.captureStackTrace&&Error.captureStackTrace(o,t),o}return o(t,e),t}(Error);t.ClientError=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseResponse=t.splitName=t.sanitizeObject=t.sanitizeArray=t.sanitizeString=t.receiveEmbedData=void 0;var r=n(2),o=n(1);function a(e){if(!e)return e;var t=document.createElement("div");t.innerHTML=e;for(var n=0,r=Array.from(t.getElementsByTagName("script"));n<r.length;n++){var o=r[n];o.parentNode&&o.parentNode.removeChild(o)}return t.innerHTML}function i(e){return e.map(s)}function s(e){if(null==e)return e;if(Array.isArray(e))return i(e);if("string"==typeof e)return a(e);if("object"==typeof e){for(var t={},n=0,r=Object.entries(e);n<r.length;n++){var o=r[n],c=o[0],d=o[1];Array.isArray(d)?t[c]=i(d):t[c]="string"==typeof d?a(d):s(d)}return t}return e}t.receiveEmbedData=function(){var e;return new Promise((function(t,n){window.parent||n("Cannot receive data without parent"),e=function(e){var n;try{n=JSON.parse(e.data)}catch(e){return}n.embedData&&t(n.embedData)},window.addEventListener("message",e)})).then((function(t){return window.removeEventListener("message",e),t}))},t.sanitizeString=a,t.sanitizeArray=i,t.sanitizeObject=s,t.splitName=function(e){var t=e.split(" ");return{firstName:t.slice(0,-1).join(" ")||"NOT GIVEN",lastName:t.slice(-1).join(" ")}},t.parseResponse=function(e,t){return e.json().then((function(n){var a=[];if(200!==e.status&&(void 0!==n.result&&Object.keys(n.result).forEach((function(e){a.push(new r.ClientError(n.result[e].join(" \n"),{field:e}))})),void 0!==n.messages?n.messages.forEach((function(e){"error"===e.category&&a.push(new r.ClientError(e.message))})):a.push(new r.ClientError(n.message))),t&&t.throwErrors&&a.length)throw o.collapseClientErrors(a);return{errors:a,_raw_response:n}}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizeBankAccount=void 0,t.tokenizeBankAccount=function(e,t,n){return fetch(n.cardConnectBaseUrl+"/cardsecure/api/v1/ccn/tokenize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:e+"/"+t,unique:!0})}).then((function(e){return e.json()}))}},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.SpreedlyAsync=t.tokenizePayPal=t.tokenizeCreditCard=t.tokenizeBankAccount=void 0;var a=n(0),i=n(1);t.tokenizeBankAccount=function(e,t){return void 0===t.spreedlyEnvironmentKey?Promise.reject(new Error("Spreedly is not configured.")):fetch(a.SPREEDLY_TOKENIZER_URL+"?"+new URLSearchParams({environment_key:t.spreedlyEnvironmentKey}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_method:{bank_account:{first_name:e.contact.firstName,last_name:e.contact.lastName,email:e.contact.email,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip:e.address.zip,country:e.address.country,bank_account_number:e.account.accountNumber.replace(/\s+/g,""),bank_routing_number:e.account.routingNumber.replace(/\s+/g,""),bank_account_holder_type:e.account.accountHolderType,bank_account_type:e.account.accountType}},retained:!1})}).then(i.unpackSpreedlyResponse).then(i.extractSpreedlyToken)},t.tokenizeCreditCard=function(e,t){return void 0===t.spreedlyEnvironmentKey?Promise.reject(new Error("Spreedly is not configured.")):fetch(a.SPREEDLY_TOKENIZER_URL+"?"+new URLSearchParams({environment_key:t.spreedlyEnvironmentKey}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_method:{credit_card:{first_name:e.contact.firstName,last_name:e.contact.lastName,email:e.contact.email,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip:e.address.zip,country:e.address.country,number:e.card.cardNumber.replace(/\s+/g,""),verification_value:e.card.verificationValue,year:e.card.expirationYear,month:e.card.expirationMonth}},retained:!1})}).then(i.unpackSpreedlyResponse).then(i.extractSpreedlyToken)},t.tokenizePayPal=function(e,t){return void 0===t.spreedlyEnvironmentKey?Promise.reject(new Error("Spreedly is not configured.")):fetch(a.SPREEDLY_TOKENIZER_URL+"?"+new URLSearchParams({environment_key:t.spreedlyEnvironmentKey}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_method:{payment_method_type:"paypal",first_name:e.contact.firstName,last_name:e.contact.lastName,email:e.contact.email,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip:e.address.zip,country:e.address.country},retained:!1})}).then(i.unpackSpreedlyResponse).then(i.extractSpreedlyToken)};var s=function(){function e(e,t,n,r){var o=this;this.tokenPromise=null,this.tokenResolve=null,this.tokenReject=null;var a=this.spreedly=new window.SpreedlyPaymentFrame;a.on("ready",(function(){a.setPlaceholder("number","Card Number"),a.setFieldType("number","text"),a.setNumberFormat("prettyFormat"),a.setPlaceholder("cvv","CVV"),a.setFieldType("cvv","text"),r&&(a.setStyle("number",r),a.setStyle("cvv",r))})),a.on("errors",(function(e){var t=e.map((function(e){return e.message})).join(" ");if(!o.tokenPromise||!o.tokenReject)throw new Error(t);o.tokenReject(new Error(t))})),a.on("paymentMethod",(function(e){if(!o.tokenPromise||!o.tokenResolve)throw new Error("No pending tokenization request");o.tokenResolve(e),o.tokenPromise=null})),a.init(e,{numberEl:t,cvvEl:n})}return e.prototype.tokenizeCreditCard=function(e){return r(this,void 0,void 0,(function(){var t=this;return o(this,(function(n){if(this.tokenPromise)throw new Error("Tokenization already in progress");return this.tokenPromise=new Promise((function(n,r){t.tokenResolve=n,t.tokenReject=r,t.spreedly.tokenizeCreditCard(e)})),[2,this.tokenPromise]}))}))},e}();t.SpreedlyAsync=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createPaymentMethod=void 0;var r=n(1),o=n(0),a=n(3);t.createPaymentMethod=function(e,t){var n=r.buildCreatePaymentMethodPayload(e);return fetch(t.embedApiBaseUrl+"/payment/payment-methods",{method:"POST",headers:o.CLIENT_HEADERS,body:JSON.stringify(n)}).then((function(e){return a.parseResponse(e,{throwErrors:!0})})).then((function(e){return r.buildCreatePaymentMethodResult(e)}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(){function e(e){this.appleSession=null,this.paymentRequestDefaults={currencyCode:"USD",countryCode:"US",merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],supportedNetworks:["amex","masterCard","visa","discover"],requiredBillingContactFields:["postalAddress","name"],requiredShippingContactFields:["email","phone"],total:{label:"iDonate",amount:"",type:"final"}},this.paymentRequest=Object.assign({},this.paymentRequestDefaults,e)}return e.isSupported=function(){return window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(e.ApplePayApiVersion)},e.prototype.begin=function(){return e.isSupported()?(this.appleSession=new ApplePaySession(e.ApplePayApiVersion,this.paymentRequest),this.appleSession.begin(),Promise.resolve(this.appleSession)):Promise.reject(new Error("Apple Pay Not Supported"))},e.prototype.createSession=function(e,t){return fetch(t+"/payment/create-session",{method:"POST",headers:r.CLIENT_HEADERS,body:JSON.stringify(e)}).then((function(e){return e.json()}))},e.prototype.tokenizeWithCardConnect=function(e,t){var n=e.token.paymentData,r=n.data+"&ectype=apple&ecsig="+n.signature+"&eckey="+n.header.ephemeralPublicKey+"&ectid="+n.header.transactionId+"&echash=&ecpublickeyhash="+n.header.publicKeyHash;return fetch(t+"/cardsecure/api/v1/ccn/tokenize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encryptionhandler:"EC_APPLE_PAY",devicedata:r,unique:!0})}).then((function(e){return e.json()}))},e.ApplePayApiVersion=6,e}();t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(e){e.enableSandboxMode?(this.apiBaseUrl=r.SANDBOX_BASE_URL,this.cardConnectBaseUrl=r.SANDBOX_CARD_CONNECT_BASE_URL,this.applePayUrl=r.SANDBOX_APPLE_PAY_URL):(this.apiBaseUrl=r.PRODUCTION_BASE_URL,this.cardConnectBaseUrl=r.PRODUCTION_CARD_CONNECT_BASE_URL,this.applePayUrl=r.APPLE_PAY_URL),e.overrideBaseUrl&&(this.apiBaseUrl=e.overrideBaseUrl),this.authApiBaseUrl=e.overrideAuthApiBaseUrl||this.apiBaseUrl+"/auth",this.donorApiBaseUrl=e.overrideDonorApiBaseUrl||this.apiBaseUrl+"/donor",this.embedApiBaseUrl=e.overrideEmbedApiBaseUrl||this.apiBaseUrl+"/embed",e.overrideApplePayUrl&&(this.applePayUrl=e.overrideApplePayUrl),(null==e?void 0:e.spreedlyEnvironmentKey)&&(this.spreedlyEnvironmentKey=e.spreedlyEnvironmentKey),this.cardConnectTokenizerUrl=this.cardConnectBaseUrl+"/itoke/ajax-tokenizer.html"};t.default=o},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.GooglePay=t.ApplePay=t.constants=t.recaptcha=t.ConfigHandler=t.Client=t.shared=t.util=t.tokenize=void 0;var a=n(10);t.tokenize=a;var i=n(3);t.util=i;var s=n(12);t.recaptcha=s;var c=n(0);t.constants=c;var d=n(6);t.shared=d;var u=n(13);t.Client=u.default;var l=n(8);t.ConfigHandler=l.default;var p=n(7);t.ApplePay=p.default;var f=n(14);t.GooglePay=f.default,o(n(2),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.spreedly=t.iats=t.cardconnect=void 0;var r=n(4);t.cardconnect=r;var o=n(11);t.iats=o;var a=n(5);t.spreedly=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizePaymentCard=t.tokenizePaymentBankUs=t.tokenizePaymentBankCanada=void 0;var r=n(15);t.tokenizePaymentBankCanada=function(e,t,n,o,a,i,s,c,d){var u=r.v4(),l=d.address1;d.address2&&(l+="\n"+d.address2);for(var p={IATS_DPM_ProcessOption:"TOKEN",IATS_DPM_RecurringOn:"FALSE",IATS_DPM_ProcessID:a,IATS_DPM_RelayURL:i,IATS_DPM_ClientDefined_PaymentId:u,IATS_DPM_ClientDefined_GatewayId:s,IATS_DPM_Title:c.salutation,IATS_DPM_FirstName:c.firstName,IATS_DPM_LastName:c.lastName,IATS_DPM_Address:l,IATS_DPM_City:d.city,IATS_DPM_Province:d.state,IATS_DPM_Country:d.country,IATS_DPM_ZipCode:d.zip,IATS_DPM_Phone:c.primaryPhone,IATS_DPM_EMAIL:c.email,IATS_DPM_AccountNumber:e+t+n,IATS_DPM_MOP:"ACHEFT",IATS_DPM_AccountType:o},f=new FormData,y=0,m=Object.entries(p);y<m.length;y++){var h=m[y],_=h[0],v=h[1];f.append(_,v)}return fetch("https://www.iatspayments.com/netgate/IATSDPMProcess.aspx",{method:"POST",mode:"no-cors",body:f}).then((function(e){return e.text().then((function(){return u}))}))},t.tokenizePaymentBankUs=function(){throw new Error("US Bank Tokenization Not Yet Implemented")},t.tokenizePaymentCard=function(){throw new Error("Card Tokenization Not Yet Implemented")}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function o(){var e=new Date;return new Promise((function(t,n){!function r(){void 0!==window.grecaptcha&&void 0!==window.grecaptcha.render?t(window.grecaptcha):(new Date).valueOf()-e.valueOf()>15e3?n(new Error("grecaptcha not loaded after 15 seconds")):setTimeout(r,250)}()}))}Object.defineProperty(t,"__esModule",{value:!0}),t.wrapElement=t.RecaptchaElement=t.injectScript=void 0,t.injectScript=function(){if(void 0!==window.grecaptcha)throw new Error("grecaptcha is already defined");var e=document.createElement("script");e.src="https://www.google.com/recaptcha/api.js?render=explicit",e.async=!0,e.defer=!0,document.body.appendChild(e)};var a=function(){function e(e,t){this.container=e,this.params=t,this.executeResolveQueue=[]}return e.prototype.render=function(){var e=this;void 0!==this.widgetId&&console.warn("rendering an already-rendered widget"),o().then((function(t){e.widgetId=t.render(e.container,r(r({},e.params),{callback:function(t){e.resolvedToken=t,e.executeResolveQueue.pop()(t)}}))}))},e.prototype.resolveToken=function(){var e=this;return new Promise((function(t,n){e.executeResolveQueue.push(t),o().then((function(t){void 0!==e.resolvedToken&&(e.resolvedToken=void 0,t.reset(e.widgetId)),t.execute(e.widgetId)}))}))},e}();t.RecaptchaElement=a,t.wrapElement=function(e,t,n){var o=r(r({},n||{}),{sitekey:t}),i=new a(e,o);return i.render(),i}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),a=n(1),i=n(0),s=n(3),c=n(7),d=n(8),u=n(4),l=n(5),p=n(6),f={enableSandboxMode:!1,overrideBaseUrl:void 0},y=function(){function e(e,t){this.clientKey=e,this.options=Object.assign({},f,t),this.config=new d.default(this.options),Object.assign(this,this.config),this.options.enableSandboxMode&&void 0!==console&&console.info("[Sandbox] iDonate SDK Configuration:",JSON.parse(JSON.stringify(this))),this.currentOrganizationId||this.setOrganizationId(this.clientKey)}return Object.defineProperty(e.prototype,"organizationId",{get:function(){if(!this.currentOrganizationId)throw new Error("organizationId undefined");return this.currentOrganizationId},enumerable:!1,configurable:!0}),e.prototype.createDonation=function(e){var t=a.buildCashPaymentPayload(this.organizationId,e);return fetch(this.config.embedApiBaseUrl+"/donate/cash-payment",{method:"POST",headers:i.CLIENT_HEADERS,body:JSON.stringify(t)}).then((function(e){return s.parseResponse(e,{throwErrors:!0})})).then((function(e){return a.buildDonationResult(e)}))},e.prototype.createTransaction=function(e){return this.createDonation(e).then((function(e){var t;return{transactionId:null===(t=e.transaction)||void 0===t?void 0:t.id,_raw_response:e._raw_response}}))},e.prototype.createPaymentMethod=function(e){return p.createPaymentMethod(e,this.config)},e.prototype.tokenizeCardConnectBankAccountInternal=function(e,t){return u.tokenizeBankAccount(e,t,this.config)},e.prototype.setOrganizationId=function(e){this.currentOrganizationId=e},e.prototype.tokenizeCardConnectBankAccount=function(e){return this.tokenizeCardConnectBankAccountInternal(e.routingNumber,e.accountNumber).then((function(e){if(!e.token||0!==e.errorcode)throw new o.ClientError(e.message,{_rawPayload:e});return e.token}))},e.prototype.tokenizeSpreedlyCreditCard=function(e){return l.tokenizeCreditCard(e,this.config)},e.prototype.tokenizeSpreedlyBankAccount=function(e){return l.tokenizeBankAccount(e,this.config)},e.prototype.tokenizeSpreedlyPayPal=function(e){return l.tokenizePayPal(e,this.config)},e.prototype.generateCardConnectTokenizerUrl=function(e){var t={enhancedresponse:"true",useexpiry:"true",usecvv:"true",placeholderyear:"2020",invalidinputevent:"true",placeholder:"Card Number",placeholdercvv:"CVV",formatinput:"true",expirymonthtitle:"Month",unique:"true",css:i.CARD_CONNECT_DEFAULT_STYLE},n=r(r({},t),e||{}),o=new URLSearchParams(n).toString().replace("+","%20");return this.config.cardConnectTokenizerUrl+"?"+o},e.prototype.waitForDonationResult=function(e){var t=this;return new Promise((function(n,i){setTimeout((function(){var s;s=setInterval((function(){fetch(t.config.embedApiBaseUrl+"/donate/cash-payment/"+e+"/payment_status",{method:"GET",headers:{"Content-Type":"application/json"}}).then((function(e){return e.json()})).then((function(e){return e.result})).then((function(e){(function(e){return!!e.processed&&!!e.transaction})(e)&&(s&&(clearInterval(s),s=null),e.error&&i(new o.ClientError(e.error)),n(a.buildDonationResult({_raw_response:r({campaign:null,designation:{},donor:{},form_data:{},id:null,schedule:{},transaction:{}},e)})))}))}),2e3)}),2e3)}))},e.prototype.tokenizeCardConnectApplePay=function(e){var t=this,n=new c.default(e),o="",a=n.begin();return new Promise((function(e,i){a.then((function(a){a.onvalidatemerchant=function(e){var r={apple_pay_url:t.config.applePayUrl,organization_id:t.organizationId};n.createSession(r,t.config.embedApiBaseUrl).then((function(e){o=e.result.merchantSessionIdentifier,a.completeMerchantValidation(e.result)}))},a.onpaymentauthorized=function(i){n.tokenizeWithCardConnect(i.payment,t.config.cardConnectBaseUrl).then((function(t){var n,s,c=r(r({},i.payment.billingContact),{email:null===(n=i.payment.shippingContact)||void 0===n?void 0:n.emailAddress,phone:null===(s=i.payment.shippingContact)||void 0===s?void 0:s.phoneNumber});e({applePaySession:a,cardConnectResponse:t,billingContact:c,merchantSessionId:o})}))}})).catch((function(e){return i(e)}))}))},e}();t.default=y},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e){this.baseRequest={apiVersion:2,apiVersionMinor:0},this.baseCardPaymentMethod={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL",phoneNumberRequired:!0}}},this.transactionInfo={countryCode:"US",currencyCode:"USD",totalPriceStatus:"FINAL",totalPrice:""},this.tokenizationSpecification={type:"PAYMENT_GATEWAY",parameters:{gateway:"cardconnect",gatewayMerchantId:""}},this.googlePayOptions={environment:"PRODUCTION"},this.paymentRequestDefaults=r(r({},this.baseRequest),{merchantInfo:{merchantId:""},transactionInfo:this.transactionInfo,emailRequired:!0,allowedPaymentMethods:[r(r({},this.baseCardPaymentMethod),{tokenizationSpecification:this.tokenizationSpecification})]}),this.paymentsClient=null;var t=e.paymentOptions,n=e.cardConnectMerchantId,o=e.paymentDataRequest;this.tokenizationSpecification.parameters.gatewayMerchantId=n,this.paymentRequest=Object.assign({},this.paymentRequestDefaults,o),this.googlePayOptions=Object.assign({},this.googlePayOptions,r(r({},t),{merchantInfo:this.paymentRequest.merchantInfo}))}return e.resolveLib=function(e){var t=new Date;return new Promise((function(n,r){!function o(){if(void 0!==window.google&&void 0!==window.google.payments){var a=new google.payments.api.PaymentsClient(e);n(a)}else{(new Date).valueOf()-t.valueOf()>15e3?r(new Error("pay.js not loaded after 15 seconds")):setTimeout(o,250)}}()}))},e.injectScript=function(){if(void 0!==window.google&&void 0!==window.google.payments)throw new Error("google payments is already injected");var e=document.createElement("script");e.src="https://pay.google.com/gp/p/js/pay.js?render=explicit",e.async=!0,e.defer=!0,document.body.appendChild(e)},e.prototype.getGoogleIsReadyToPayRequest=function(){return Object.assign({},this.baseRequest,{allowedPaymentMethods:[this.baseCardPaymentMethod]})},e.prototype.getGooglePaymentClient=function(){var t=this;return new Promise((function(n,r){t.paymentsClient?n(t.paymentsClient):e.resolveLib(t.googlePayOptions).then((function(e){t.paymentsClient=e,n(e)})).catch((function(e){return r(e)}))}))},e.prototype.onGooglePaymentButtonClicked=function(e){var t=this,n=this.paymentRequest;return this.transactionInfo=Object.assign({},this.transactionInfo,e),n.transactionInfo=this.transactionInfo,new Promise((function(e,r){t.paymentsClient?t.paymentsClient.loadPaymentData(n).then((function(t){e(t)})).catch((function(e){r(e)})):r("PaymentClient not initialized")}))},e.prototype.tokenizeWithCardConnect=function(e,t){return fetch(t+"/cardsecure/api/v1/ccn/tokenize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encryptionhandler:"EC_GOOGLE_PAY",devicedata:e,unique:!0})}).then((function(e){return e.json()}))},e}();t.default=o},function(e,t,n){"use strict";n.r(t),n.d(t,"v1",(function(){return f})),n.d(t,"v3",(function(){return P})),n.d(t,"v4",(function(){return C})),n.d(t,"v5",(function(){return S}));var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),o=new Uint8Array(16);function a(){if(!r)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(o)}for(var i=[],s=0;s<256;++s)i[s]=(s+256).toString(16).substr(1);var c,d,u=function(e,t){var n=t||0,r=i;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")},l=0,p=0;var f=function(e,t,n){var r=t&&n||0,o=t||[],i=(e=e||{}).node||c,s=void 0!==e.clockseq?e.clockseq:d;if(null==i||null==s){var f=e.random||(e.rng||a)();null==i&&(i=c=[1|f[0],f[1],f[2],f[3],f[4],f[5]]),null==s&&(s=d=16383&(f[6]<<8|f[7]))}var y=void 0!==e.msecs?e.msecs:(new Date).getTime(),m=void 0!==e.nsecs?e.nsecs:p+1,h=y-l+(m-p)/1e4;if(h<0&&void 0===e.clockseq&&(s=s+1&16383),(h<0||y>l)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=y,p=m,d=s;var _=(1e4*(268435455&(y+=122192928e5))+m)%4294967296;o[r++]=_>>>24&255,o[r++]=_>>>16&255,o[r++]=_>>>8&255,o[r++]=255&_;var v=y/4294967296*1e4&268435455;o[r++]=v>>>8&255,o[r++]=255&v,o[r++]=v>>>24&15|16,o[r++]=v>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(var b=0;b<6;++b)o[r+b]=i[b];return t||u(o)};var y=function(e,t,n){var r=function(e,r,o,a){var i=o&&a||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}(e)),"string"==typeof r&&(r=function(e){var t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(r)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(r)||16!==r.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");var s=n(r.concat(e));if(s[6]=15&s[6]|t,s[8]=63&s[8]|128,o)for(var c=0;c<16;++c)o[i+c]=s[c];return o||u(s)};try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r};function m(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function h(e,t,n,r,o,a){return m((i=m(m(t,e),m(r,a)))<<(s=o)|i>>>32-s,n);var i,s}function _(e,t,n,r,o,a,i){return h(t&n|~t&r,e,t,o,a,i)}function v(e,t,n,r,o,a,i){return h(t&r|n&~r,e,t,o,a,i)}function b(e,t,n,r,o,a,i){return h(t^n^r,e,t,o,a,i)}function g(e,t,n,r,o,a,i){return h(n^(t|~r),e,t,o,a,i)}var P=y("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Array(t.length);for(var n=0;n<t.length;n++)e[n]=t.charCodeAt(n)}return function(e){var t,n,r,o=[],a=32*e.length;for(t=0;t<a;t+=8)n=e[t>>5]>>>t%32&255,r=parseInt("0123456789abcdef".charAt(n>>>4&15)+"0123456789abcdef".charAt(15&n),16),o.push(r);return o}(function(e,t){var n,r,o,a,i;e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;var s=1732584193,c=-271733879,d=-1732584194,u=271733878;for(n=0;n<e.length;n+=16)r=s,o=c,a=d,i=u,s=_(s,c,d,u,e[n],7,-680876936),u=_(u,s,c,d,e[n+1],12,-389564586),d=_(d,u,s,c,e[n+2],17,606105819),c=_(c,d,u,s,e[n+3],22,-1044525330),s=_(s,c,d,u,e[n+4],7,-176418897),u=_(u,s,c,d,e[n+5],12,1200080426),d=_(d,u,s,c,e[n+6],17,-1473231341),c=_(c,d,u,s,e[n+7],22,-45705983),s=_(s,c,d,u,e[n+8],7,1770035416),u=_(u,s,c,d,e[n+9],12,-1958414417),d=_(d,u,s,c,e[n+10],17,-42063),c=_(c,d,u,s,e[n+11],22,-1990404162),s=_(s,c,d,u,e[n+12],7,1804603682),u=_(u,s,c,d,e[n+13],12,-40341101),d=_(d,u,s,c,e[n+14],17,-1502002290),c=_(c,d,u,s,e[n+15],22,1236535329),s=v(s,c,d,u,e[n+1],5,-165796510),u=v(u,s,c,d,e[n+6],9,-1069501632),d=v(d,u,s,c,e[n+11],14,643717713),c=v(c,d,u,s,e[n],20,-373897302),s=v(s,c,d,u,e[n+5],5,-701558691),u=v(u,s,c,d,e[n+10],9,38016083),d=v(d,u,s,c,e[n+15],14,-660478335),c=v(c,d,u,s,e[n+4],20,-405537848),s=v(s,c,d,u,e[n+9],5,568446438),u=v(u,s,c,d,e[n+14],9,-1019803690),d=v(d,u,s,c,e[n+3],14,-187363961),c=v(c,d,u,s,e[n+8],20,1163531501),s=v(s,c,d,u,e[n+13],5,-1444681467),u=v(u,s,c,d,e[n+2],9,-51403784),d=v(d,u,s,c,e[n+7],14,1735328473),c=v(c,d,u,s,e[n+12],20,-1926607734),s=b(s,c,d,u,e[n+5],4,-378558),u=b(u,s,c,d,e[n+8],11,-2022574463),d=b(d,u,s,c,e[n+11],16,1839030562),c=b(c,d,u,s,e[n+14],23,-35309556),s=b(s,c,d,u,e[n+1],4,-1530992060),u=b(u,s,c,d,e[n+4],11,1272893353),d=b(d,u,s,c,e[n+7],16,-155497632),c=b(c,d,u,s,e[n+10],23,-1094730640),s=b(s,c,d,u,e[n+13],4,681279174),u=b(u,s,c,d,e[n],11,-358537222),d=b(d,u,s,c,e[n+3],16,-722521979),c=b(c,d,u,s,e[n+6],23,76029189),s=b(s,c,d,u,e[n+9],4,-640364487),u=b(u,s,c,d,e[n+12],11,-421815835),d=b(d,u,s,c,e[n+15],16,530742520),c=b(c,d,u,s,e[n+2],23,-995338651),s=g(s,c,d,u,e[n],6,-198630844),u=g(u,s,c,d,e[n+7],10,1126891415),d=g(d,u,s,c,e[n+14],15,-1416354905),c=g(c,d,u,s,e[n+5],21,-57434055),s=g(s,c,d,u,e[n+12],6,1700485571),u=g(u,s,c,d,e[n+3],10,-1894986606),d=g(d,u,s,c,e[n+10],15,-1051523),c=g(c,d,u,s,e[n+1],21,-2054922799),s=g(s,c,d,u,e[n+8],6,1873313359),u=g(u,s,c,d,e[n+15],10,-30611744),d=g(d,u,s,c,e[n+6],15,-1560198380),c=g(c,d,u,s,e[n+13],21,1309151649),s=g(s,c,d,u,e[n+4],6,-145523070),u=g(u,s,c,d,e[n+11],10,-1120210379),d=g(d,u,s,c,e[n+2],15,718787259),c=g(c,d,u,s,e[n+9],21,-343485551),s=m(s,r),c=m(c,o),d=m(d,a),u=m(u,i);return[s,c,d,u]}(function(e){var t,n=[];for(n[(e.length>>2)-1]=void 0,t=0;t<n.length;t+=1)n[t]=0;var r=8*e.length;for(t=0;t<r;t+=8)n[t>>5]|=(255&e[t/8])<<t%32;return n}(e),8*e.length))}));var C=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||a)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var i=0;i<16;++i)t[r+i]=o[i];return t||u(o)};function w(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function A(e,t){return e<<t|e>>>32-t}var S=y("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=new Array(r.length);for(var o=0;o<r.length;o++)e[o]=r.charCodeAt(o)}e.push(128);var a=e.length/4+2,i=Math.ceil(a/16),s=new Array(i);for(o=0;o<i;o++){s[o]=new Array(16);for(var c=0;c<16;c++)s[o][c]=e[64*o+4*c]<<24|e[64*o+4*c+1]<<16|e[64*o+4*c+2]<<8|e[64*o+4*c+3]}for(s[i-1][14]=8*(e.length-1)/Math.pow(2,32),s[i-1][14]=Math.floor(s[i-1][14]),s[i-1][15]=8*(e.length-1)&4294967295,o=0;o<i;o++){for(var d=new Array(80),u=0;u<16;u++)d[u]=s[o][u];for(u=16;u<80;u++)d[u]=A(d[u-3]^d[u-8]^d[u-14]^d[u-16],1);var l=n[0],p=n[1],f=n[2],y=n[3],m=n[4];for(u=0;u<80;u++){var h=Math.floor(u/20),_=A(l,5)+w(h,p,f,y)+m+t[h]+d[u]>>>0;m=y,y=f,f=A(p,30)>>>0,p=l,l=_}n[0]=n[0]+l>>>0,n[1]=n[1]+p>>>0,n[2]=n[2]+f>>>0,n[3]=n[3]+y>>>0,n[4]=n[4]+m>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}))}])}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.idonate=t():e.idonate=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CLIENT_HEADERS=t.CARD_CONNECT_DEFAULT_STYLE=t.SANDBOX_APPLE_PAY_URL=t.APPLE_PAY_URL=t.SPREEDLY_TOKENIZER_URL=t.SANDBOX_CARD_CONNECT_BASE_URL=t.PRODUCTION_CARD_CONNECT_BASE_URL=t.SANDBOX_BASE_URL=t.PRODUCTION_BASE_URL=void 0,t.PRODUCTION_BASE_URL="https://api.idonate.com",t.SANDBOX_BASE_URL="https://staging-api.idonate.com",t.PRODUCTION_CARD_CONNECT_BASE_URL="https://boltgw.cardconnect.com:8443",t.SANDBOX_CARD_CONNECT_BASE_URL="https://boltgw-uat.cardconnect.com",t.SPREEDLY_TOKENIZER_URL="https://core.spreedly.com/v1/payment_methods.json?",t.APPLE_PAY_URL="https://apple-pay-gateway.apple.com/paymentservices/paymentSession",t.SANDBOX_APPLE_PAY_URL="https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession",t.CARD_CONNECT_DEFAULT_STYLE="\nbody {\n margin: 0;\n}\n\nform {\n display: flex;\n}\n\nlabel#cccardlabel {\n display: none;\n}\n\nbr {\n display: none;\n}\n\nlabel#cccvvlabel {\n display: none;\n}\n\nlabel#ccexpirylabel {\n display: none;\n}\n\ninput {\n padding: 10px;\n}\n\nselect {\n padding: 10px;\n font-size: 14px;\n color: #8b959d;\n}\n\nselect#ccexpirymonth {\n margin-right: -30px;\n border: 1px solid #b6b8ba;\n border-right: 0;\n}\n\ninput#ccnumfield {\n width: 70%;\n border: 1px solid #b6b8ba;\n border-right: 0;\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n font-size: 14px;\n color: #8b959d;\n}\n\nselect#ccexpiryyear {\n border: 1px solid #b6b8ba;\n border-right: 0;\n}\n\ninput#cccvvfield {\n border: 1px solid #b6b8ba;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n font-size: 14px;\n color: #8b959d;\n}\n".replace(/\s+/gi," "),t.CLIENT_HEADERS={"User-Agent":navigator.userAgent+" idonate-sdk@1.0.1-alpha.4","Content-Type":"application/json"}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.extractSpreedlyToken=t.unpackSpreedlyResponse=t.buildCreatePaymentMethodResult=t.collapseClientErrors=t.buildCreatePaymentMethodPayload=t.buildDonationResult=t.buildCashPaymentPayload=void 0;var o=n(2);t.buildCashPaymentPayload=function(e,t){var n,o,a,i,s,c,d,u,p,l,y,f,m,h,_,v,g={country:t.billingAddress.country,address1:t.billingAddress.address1,address2:t.billingAddress.address2,city:t.billingAddress.city,state:t.billingAddress.state,zip_code:t.billingAddress.zip},b={title:t.billingContact.salutation,first_name:t.billingContact.firstName,middle_name:t.billingContact.middleName,last_name:t.billingContact.lastName,company_name:t.billingContact.company,email:t.billingContact.email,home_phone:t.billingContact.primaryPhone,timezone:(new Intl.DateTimeFormat).resolvedOptions().timeZone},P={payment_method_id:t.paymentMethodId,gateway_id:t.paymentGatewayId,amount:t.paymentAmount,type:"cash",frequency:t.recurringFrequency,start_date:t.recurringStart,end_date:t.recurringEnd,retain_on_success:t.retainPaymentMethod},C={organization_id:e,campaign_id:t.campaignId,reference_code:t.referenceCode,double_the_donation_company_id:t.corporateMatchingId,donor_id:t.donorId,hide_name:t.anonymousOptIn,show_name_to_fundraiser:t.showNameToFundraiserOptIn,email_opt_in:t.emailOptIn,donor_paid_fee:t.donorPaidFeeAmount,designation_note:t.designationNote,gift_id:t.giftId,gift_extra:t.giftExtra,gift_skipped:t.giftSkipped,p2p_fundraiser_id:t.p2pFundraiserId,p2p_fundraiser_comment:t.p2pFundraiserComment,organization_event_id:t.organizationEventId,advocate_id:t.advocateId,advocacy_program_id:t.advocacyProgramId,advocacy_team_id:t.advocacyTeamId,page_id:t.landingPageId,embed_id:t.embedId,tribute_definition_id:null===(n=t.tribute)||void 0===n?void 0:n.tributeDefinitionId,tribute_first_name:null===(o=t.tribute)||void 0===o?void 0:o.tributeFirstName,tribute_last_name:null===(a=t.tribute)||void 0===a?void 0:a.tributeLastName,tribute_address1:null===(i=t.tribute)||void 0===i?void 0:i.tributeAddress1,tribute_address2:null===(s=t.tribute)||void 0===s?void 0:s.tributeAddress2,tribute_city:null===(c=t.tribute)||void 0===c?void 0:c.tributeCity,tribute_state:null===(d=t.tribute)||void 0===d?void 0:d.tributeState,tribute_postal_code:null===(u=t.tribute)||void 0===u?void 0:u.tributePostalCode,tribute_country:null===(p=t.tribute)||void 0===p?void 0:p.tributeCountry,tribute_from_name:null===(l=t.tribute)||void 0===l?void 0:l.tributeFromName,tribute_recipient_email:null===(y=t.tribute)||void 0===y?void 0:y.tributeRecipientEmail,honorees:null===(f=t.tribute)||void 0===f?void 0:f.honorees,tribute_send_card:null===(m=t.tribute)||void 0===m?void 0:m.tributeSendCard,tribute_include_amount:null===(h=t.tribute)||void 0===h?void 0:h.tributeIncludeAmount,tribute_skipped:null===(_=t.tribute)||void 0===_?void 0:_.tributeSkipped,useOnBillingAddress:null===(v=t.tribute)||void 0===v?void 0:v.useOnBillingAddress,embed_referer:window.location.href,converted_to_recurring:t.convertedToRecurring};t.designations?C.designations=t.designations:C.designations=[],t.designationId&&C.designations.push([{id:t.designationId,amount:t.paymentAmount}]);var A={};return t.utm&&(t.utm.campaign&&(A.utm_campaign=t.utm.campaign),t.utm.content&&(A.utm_content=t.utm.content),t.utm.medium&&(A.utm_medium=t.utm.medium),t.utm.source&&(A.utm_source=t.utm.source),t.utm.term&&(A.utm_term=t.utm.term)),[1,2,3,4,5].forEach((function(e){var n="custom_note_".concat(e);t.customerMeta[n]&&(C[n]=t.customerMeta[n],delete t.customerMeta[n])})),r(r(r(r(r(r({},C),g),b),P),A),{customer_meta:t.customerMeta,recaptcha_token:t.recaptchaToken,recaptcha_type:t.recaptchaType})},t.buildDonationResult=function(e){var t,n,o,a,i;return e._raw_response.transaction&&(i=e._raw_response.transaction),e._raw_response.schedule&&(a=e._raw_response.schedule),e._raw_response.donor&&(o=e._raw_response.donor),e._raw_response.designation&&(n=e._raw_response.designation),e._raw_response.campaign&&(t=e._raw_response.campaign),r(r({},e),{campaign:t,designation:n,donor:o,schedule:a,transaction:i})},t.buildCreatePaymentMethodPayload=function(e){return{gateway_id:e.paymentGatewayId,backend_name:e.backendName,payment_method_type:e.paymentMethodType,payment_method_token:e.paymentMethodToken,donor_id:e.donorId,first_name:e.contact.firstName,last_name:e.contact.lastName,company:e.contact.company,email:e.contact.email,phone:e.contact.primaryPhone,country:e.address.country,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip_code:e.address.zip,recaptcha_token:e.recaptchaToken,recaptcha_type:e.recaptchaType}},t.collapseClientErrors=function(e){return new o.ClientError(e.map((function(e){return e.message})).join("<br />"),{_rawPayload:e})},t.buildCreatePaymentMethodResult=function(e){return r(r({},e),{paymentMethodId:e._raw_response.result.id})},t.unpackSpreedlyResponse=function(e){return e.json().then((function(e){if(e.errors)throw new o.ClientError(e.errors.map((function(e){return e.message})).join("<br />"),e);return e}))},t.extractSpreedlyToken=function(e){if(!e.transaction||!e.transaction.payment_method)throw new o.ClientError("Payment Method not tokenized.");return e.transaction.payment_method.token}},function(e,t,n){"use strict";var r,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0}),t.ClientError=void 0;var a=function(e){function t(n,r){var o=e.call(this,n)||this;return o.message=n,o.details=r,Error.captureStackTrace&&Error.captureStackTrace(o,t),o}return o(t,e),t}(Error);t.ClientError=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseResponse=t.splitName=t.sanitizeObject=t.sanitizeArray=t.sanitizeString=t.receiveEmbedData=void 0;var r=n(2),o=n(1);function a(e){if(!e)return e;var t=document.createElement("div");t.innerHTML=e;for(var n=0,r=Array.from(t.getElementsByTagName("script"));n<r.length;n++){var o=r[n];o.parentNode&&o.parentNode.removeChild(o)}return t.innerHTML}function i(e){return e.map(s)}function s(e){if(null==e)return e;if(Array.isArray(e))return i(e);if("string"==typeof e)return a(e);if("object"==typeof e){for(var t={},n=0,r=Object.entries(e);n<r.length;n++){var o=r[n],c=o[0],d=o[1];Array.isArray(d)?t[c]=i(d):t[c]="string"==typeof d?a(d):s(d)}return t}return e}t.receiveEmbedData=function(){var e;return new Promise((function(t,n){window.parent||n("Cannot receive data without parent"),e=function(e){var n;try{n=JSON.parse(e.data)}catch(e){return}n.embedData&&t(n.embedData)},window.addEventListener("message",e)})).then((function(t){return window.removeEventListener("message",e),t}))},t.sanitizeString=a,t.sanitizeArray=i,t.sanitizeObject=s,t.splitName=function(e){var t=e.split(" ");return{firstName:t.slice(0,-1).join(" ")||"NOT GIVEN",lastName:t.slice(-1).join(" ")}},t.parseResponse=function(e,t){return e.json().then((function(n){var a=[];if(200!==e.status&&(void 0!==n.result&&Object.keys(n.result).forEach((function(e){a.push(new r.ClientError(n.result[e].join(" \n"),{field:e}))})),void 0!==n.messages?n.messages.forEach((function(e){"error"===e.category&&a.push(new r.ClientError(e.message))})):a.push(new r.ClientError(n.message))),t&&t.throwErrors&&a.length)throw(0,o.collapseClientErrors)(a);return{errors:a,_raw_response:n}}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizeBankAccount=void 0,t.tokenizeBankAccount=function(e,t,n){return fetch("".concat(n.cardConnectBaseUrl,"/cardsecure/api/v1/ccn/tokenize"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:"".concat(e,"/").concat(t),unique:!0})}).then((function(e){return e.json()}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizePayPal=t.tokenizeCreditCard=t.tokenizeBankAccount=void 0;var r=n(0),o=n(1);t.tokenizeBankAccount=function(e,t){return void 0===t.spreedlyEnvironmentKey?Promise.reject(new Error("Spreedly is not configured.")):fetch(r.SPREEDLY_TOKENIZER_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_method:{bank_account:{first_name:e.contact.firstName,last_name:e.contact.lastName,email:e.contact.email,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip:e.address.zip,country:e.address.country,bank_account_number:e.account.accountNumber.replace(/\s+/g,""),bank_routing_number:e.account.routingNumber.replace(/\s+/g,""),bank_account_holder_type:e.account.accountHolderType,bank_account_type:e.account.accountType}},environment_key:t.spreedlyEnvironmentKey,retained:!1})}).then(o.unpackSpreedlyResponse).then(o.extractSpreedlyToken)},t.tokenizeCreditCard=function(e,t){return void 0===t.spreedlyEnvironmentKey?Promise.reject(new Error("Spreedly is not configured.")):fetch(r.SPREEDLY_TOKENIZER_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_method:{credit_card:{first_name:e.contact.firstName,last_name:e.contact.lastName,email:e.contact.email,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip:e.address.zip,country:e.address.country,number:e.card.cardNumber.replace(/\s+/g,""),verification_value:e.card.verificationValue,year:e.card.expirationYear,month:e.card.expirationMonth}},environment_key:t.spreedlyEnvironmentKey,retained:!1})}).then(o.unpackSpreedlyResponse).then(o.extractSpreedlyToken)},t.tokenizePayPal=function(e,t){return void 0===t.spreedlyEnvironmentKey?Promise.reject(new Error("Spreedly is not configured.")):fetch(r.SPREEDLY_TOKENIZER_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_method:{payment_method_type:"paypal",first_name:e.contact.firstName,last_name:e.contact.lastName,email:e.contact.email,address1:e.address.address1,address2:e.address.address2,city:e.address.city,state:e.address.state,zip:e.address.zip,country:e.address.country},environment_key:t.spreedlyEnvironmentKey,retained:!1})}).then(o.unpackSpreedlyResponse).then(o.extractSpreedlyToken)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createPaymentMethod=void 0;var r=n(1),o=n(0),a=n(3);t.createPaymentMethod=function(e,t){var n=(0,r.buildCreatePaymentMethodPayload)(e);return fetch("".concat(t.embedApiBaseUrl,"/payment/payment-methods"),{method:"POST",headers:o.CLIENT_HEADERS,body:JSON.stringify(n)}).then((function(e){return(0,a.parseResponse)(e,{throwErrors:!0})})).then((function(e){return(0,r.buildCreatePaymentMethodResult)(e)}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(){function e(e){this.appleSession=null,this.paymentRequestDefaults={currencyCode:"USD",countryCode:"US",merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],supportedNetworks:["amex","masterCard","visa","discover"],requiredBillingContactFields:["postalAddress","name"],requiredShippingContactFields:["email","phone"],total:{label:"iDonate",amount:"",type:"final"}},this.paymentRequest=Object.assign({},this.paymentRequestDefaults,e)}return e.isSupported=function(){return window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(e.ApplePayApiVersion)},e.prototype.begin=function(){var t=this;return new Promise((function(n,r){e.isSupported()?(t.appleSession=new ApplePaySession(e.ApplePayApiVersion,t.paymentRequest),t.appleSession.begin(),n(t.appleSession)):r(new Error("Apple Pay Not Supported"))}))},e.prototype.createSession=function(e,t){return fetch("".concat(t,"/payment/create-session"),{method:"POST",headers:r.CLIENT_HEADERS,body:JSON.stringify(e)}).then((function(e){return e.json()}))},e.prototype.tokenizeWithCardConnect=function(e,t){var n=e.token.paymentData,r=n.data,o=n.signature,a=n.header.ephemeralPublicKey,i=n.header.transactionId,s=n.header.publicKeyHash,c="".concat(r,"&ectype=").concat("apple","&ecsig=").concat(o,"&eckey=").concat(a,"&ectid=").concat(i,"&echash=&ecpublickeyhash=").concat(s);return fetch("".concat(t,"/cardsecure/api/v1/ccn/tokenize"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encryptionhandler:"EC_APPLE_PAY",devicedata:c,unique:!0})}).then((function(e){return e.json()}))},e.ApplePayApiVersion=6,e}();t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(e){e.enableSandboxMode?(this.apiBaseUrl=r.SANDBOX_BASE_URL,this.cardConnectBaseUrl=r.SANDBOX_CARD_CONNECT_BASE_URL,this.applePayUrl=r.SANDBOX_APPLE_PAY_URL):(this.apiBaseUrl=r.PRODUCTION_BASE_URL,this.cardConnectBaseUrl=r.PRODUCTION_CARD_CONNECT_BASE_URL,this.applePayUrl=r.APPLE_PAY_URL),e.overrideBaseUrl&&(this.apiBaseUrl=e.overrideBaseUrl),this.authApiBaseUrl=e.overrideAuthApiBaseUrl||"".concat(this.apiBaseUrl,"/auth"),this.donorApiBaseUrl=e.overrideDonorApiBaseUrl||"".concat(this.apiBaseUrl,"/donor"),this.embedApiBaseUrl=e.overrideEmbedApiBaseUrl||"".concat(this.apiBaseUrl,"/embed"),e.overrideApplePayUrl&&(this.applePayUrl=e.overrideApplePayUrl),(null==e?void 0:e.spreedlyEnvironmentKey)&&(this.spreedlyEnvironmentKey=e.spreedlyEnvironmentKey),this.cardConnectTokenizerUrl="".concat(this.cardConnectBaseUrl,"/itoke/ajax-tokenizer.html")};t.default=o},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.GooglePay=t.ApplePay=t.constants=t.recaptcha=t.ConfigHandler=t.Client=t.shared=t.util=t.tokenize=void 0;var a=n(10);t.tokenize=a;var i=n(3);t.util=i;var s=n(12);t.recaptcha=s;var c=n(0);t.constants=c;var d=n(6);t.shared=d;var u=n(13);t.Client=u.default;var p=n(8);t.ConfigHandler=p.default;var l=n(7);t.ApplePay=l.default;var y=n(14);t.GooglePay=y.default,o(n(2),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.spreedly=t.iats=t.cardconnect=void 0;var r=n(4);t.cardconnect=r;var o=n(11);t.iats=o;var a=n(5);t.spreedly=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizePaymentCard=t.tokenizePaymentBankUs=t.tokenizePaymentBankCanada=void 0;var r=n(15);t.tokenizePaymentBankCanada=function(e,t,n,o,a,i,s,c,d){var u=(0,r.v4)(),p=d.address1;d.address2&&(p+="\n"+d.address2);for(var l={IATS_DPM_ProcessOption:"TOKEN",IATS_DPM_RecurringOn:"FALSE",IATS_DPM_ProcessID:a,IATS_DPM_RelayURL:i,IATS_DPM_ClientDefined_PaymentId:u,IATS_DPM_ClientDefined_GatewayId:s,IATS_DPM_Title:c.salutation,IATS_DPM_FirstName:c.firstName,IATS_DPM_LastName:c.lastName,IATS_DPM_Address:p,IATS_DPM_City:d.city,IATS_DPM_Province:d.state,IATS_DPM_Country:d.country,IATS_DPM_ZipCode:d.zip,IATS_DPM_Phone:c.primaryPhone,IATS_DPM_EMAIL:c.email,IATS_DPM_AccountNumber:e+t+n,IATS_DPM_MOP:"ACHEFT",IATS_DPM_AccountType:o},y=new FormData,f=0,m=Object.entries(l);f<m.length;f++){var h=m[f],_=h[0],v=h[1];y.append(_,v)}return fetch("https://www.iatspayments.com/netgate/IATSDPMProcess.aspx",{method:"POST",mode:"no-cors",body:y}).then((function(e){return e.text().then((function(){return u}))}))},t.tokenizePaymentBankUs=function(){throw new Error("US Bank Tokenization Not Yet Implemented")},t.tokenizePaymentCard=function(){throw new Error("Card Tokenization Not Yet Implemented")}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function o(){var e=new Date;return new Promise((function(t,n){!function r(){void 0!==window.grecaptcha&&void 0!==window.grecaptcha.render?t(window.grecaptcha):(new Date).valueOf()-e.valueOf()>15e3?n(new Error("grecaptcha not loaded after 15 seconds")):setTimeout(r,250)}()}))}Object.defineProperty(t,"__esModule",{value:!0}),t.wrapElement=t.RecaptchaElement=t.injectScript=void 0,t.injectScript=function(){if(void 0!==window.grecaptcha)throw new Error("grecaptcha is already defined");var e=document.createElement("script");e.src="https://www.google.com/recaptcha/api.js?render=explicit",e.async=!0,e.defer=!0,document.body.appendChild(e)};var a=function(){function e(e,t){this.container=e,this.params=t,this.executeResolveQueue=[]}return e.prototype.render=function(){var e=this;void 0!==this.widgetId&&console.warn("rendering an already-rendered widget"),o().then((function(t){e.widgetId=t.render(e.container,r(r({},e.params),{callback:function(t){e.resolvedToken=t,e.executeResolveQueue.pop()(t)}}))}))},e.prototype.resolveToken=function(){var e=this;return new Promise((function(t,n){e.executeResolveQueue.push(t),o().then((function(t){void 0!==e.resolvedToken&&(e.resolvedToken=void 0,t.reset(e.widgetId)),t.execute(e.widgetId)}))}))},e}();t.RecaptchaElement=a,t.wrapElement=function(e,t,n){var o=r(r({},n||{}),{sitekey:t}),i=new a(e,o);return i.render(),i}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),a=n(1),i=n(0),s=n(3),c=n(7),d=n(8),u=n(4),p=n(5),l=n(6),y={enableSandboxMode:!1,overrideBaseUrl:void 0},f=function(){function e(e,t){this.clientKey=e,this.options=Object.assign({},y,t),this.organizationId=e,this.config=new d.default(this.options),this.apiBaseUrl=this.config.apiBaseUrl,this.cardConnectBaseUrl=this.config.cardConnectBaseUrl,this.authApiBaseUrl=this.config.authApiBaseUrl,this.donorApiBaseUrl=this.config.donorApiBaseUrl,this.embedApiBaseUrl=this.config.embedApiBaseUrl,this.spreedlyEnvironmentKey=this.config.spreedlyEnvironmentKey,this.cardConnectTokenizerUrl=this.config.cardConnectTokenizerUrl,this.options.enableSandboxMode&&void 0!==console&&console.info("[Sandbox] iDonate SDK Configuration:",JSON.parse(JSON.stringify(this)))}return e.prototype.createDonation=function(e){var t=(0,a.buildCashPaymentPayload)(this.organizationId,e);return fetch("".concat(this.embedApiBaseUrl,"/donate/cash-payment"),{method:"POST",headers:i.CLIENT_HEADERS,body:JSON.stringify(t)}).then((function(e){return(0,s.parseResponse)(e,{throwErrors:!0})})).then((function(e){return(0,a.buildDonationResult)(e)}))},e.prototype.createTransaction=function(e){return this.createDonation(e).then((function(e){var t;return{transactionId:null===(t=e.transaction)||void 0===t?void 0:t.id,_raw_response:e._raw_response}}))},e.prototype.createPaymentMethod=function(e){return l.createPaymentMethod(e,this.config)},e.prototype.tokenizeCardConnectBankAccountInternal=function(e,t){return u.tokenizeBankAccount(e,t,this.config)},e.prototype.tokenizeCardConnectBankAccount=function(e){return this.tokenizeCardConnectBankAccountInternal(e.routingNumber,e.accountNumber).then((function(e){if(!e.token||0!==e.errorcode)throw new o.ClientError(e.message,{_rawPayload:e});return e.token}))},e.prototype.tokenizeSpreedlyCreditCard=function(e){return p.tokenizeCreditCard(e,this.config)},e.prototype.tokenizeSpreedlyBankAccount=function(e){return p.tokenizeBankAccount(e,this.config)},e.prototype.tokenizeSpreedlyPayPal=function(e){return p.tokenizePayPal(e,this.config)},e.prototype.generateCardConnectTokenizerUrl=function(e){var t={enhancedresponse:"true",useexpiry:"true",usecvv:"true",placeholderyear:"2020",invalidinputevent:"true",placeholder:"Card Number",placeholdercvv:"CVV",formatinput:"true",expirymonthtitle:"Month",unique:"true",css:i.CARD_CONNECT_DEFAULT_STYLE},n=r(r({},t),e||{}),o=new URLSearchParams(n).toString().replace("+","%20");return"".concat(this.cardConnectTokenizerUrl,"?").concat(o)},e.prototype.waitForDonationResult=function(e){var t=this;return new Promise((function(n,i){setTimeout((function(){var s;s=setInterval((function(){fetch("".concat(t.embedApiBaseUrl,"/donate/cash-payment/").concat(e,"/payment_status"),{method:"GET",headers:{"Content-Type":"application/json"}}).then((function(e){return e.json()})).then((function(e){return e.result})).then((function(e){(function(e){return!!e.processed&&!!e.transaction})(e)&&(s&&(clearInterval(s),s=null),e.error&&i(new o.ClientError(e.error)),n((0,a.buildDonationResult)({_raw_response:r({campaign:null,designation:{},donor:{},form_data:{},id:null,schedule:{},transaction:{}},e)})))}))}),2e3)}),2e3)}))},e.prototype.tokenizeCardConnectApplePay=function(e){var t=this;return new Promise((function(n,o){var a=new c.default(e),i="";a.begin().then((function(e){e.onvalidatemerchant=function(n){var r={apple_pay_url:t.config.applePayUrl,organization_id:t.organizationId};a.createSession(r,t.embedApiBaseUrl).then((function(t){i=t.result.merchantSessionIdentifier,e.completeMerchantValidation(t.result)}))},e.onpaymentauthorized=function(o){a.tokenizeWithCardConnect(o.payment,t.cardConnectBaseUrl).then((function(t){var a,s,c=r(r({},o.payment.billingContact),{email:null===(a=o.payment.shippingContact)||void 0===a?void 0:a.emailAddress,phone:null===(s=o.payment.shippingContact)||void 0===s?void 0:s.phoneNumber});n({applePaySession:e,cardConnectResponse:t,billingContact:c,merchantSessionId:i})}))}})).catch((function(e){return o(e)}))}))},e}();t.default=f},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e){this.baseRequest={apiVersion:2,apiVersionMinor:0},this.baseCardPaymentMethod={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL",phoneNumberRequired:!0}}},this.transactionInfo={countryCode:"US",currencyCode:"USD",totalPriceStatus:"FINAL",totalPrice:""},this.tokenizationSpecification={type:"PAYMENT_GATEWAY",parameters:{gateway:"cardconnect",gatewayMerchantId:""}},this.googlePayOptions={environment:"PRODUCTION"},this.paymentRequestDefaults=r(r({},this.baseRequest),{merchantInfo:{merchantId:""},transactionInfo:this.transactionInfo,emailRequired:!0,allowedPaymentMethods:[r(r({},this.baseCardPaymentMethod),{tokenizationSpecification:this.tokenizationSpecification})]}),this.paymentsClient=null;var t=e.paymentOptions,n=e.cardConnectMerchantId,o=e.paymentDataRequest;this.tokenizationSpecification.parameters.gatewayMerchantId=n,this.paymentRequest=Object.assign({},this.paymentRequestDefaults,o),this.googlePayOptions=Object.assign({},this.googlePayOptions,r(r({},t),{merchantInfo:this.paymentRequest.merchantInfo}))}return e.resolveLib=function(e){var t=new Date;return new Promise((function(n,r){!function o(){if(void 0!==window.google&&void 0!==window.google.payments){var a=new google.payments.api.PaymentsClient(e);n(a)}else{(new Date).valueOf()-t.valueOf()>15e3?r(new Error("pay.js not loaded after 15 seconds")):setTimeout(o,250)}}()}))},e.injectScript=function(){if(void 0!==window.google&&void 0!==window.google.payments)throw new Error("google payments is already injected");var e=document.createElement("script");e.src="https://pay.google.com/gp/p/js/pay.js?render=explicit",e.async=!0,e.defer=!0,document.body.appendChild(e)},e.prototype.getGoogleIsReadyToPayRequest=function(){return Object.assign({},this.baseRequest,{allowedPaymentMethods:[this.baseCardPaymentMethod]})},e.prototype.getGooglePaymentClient=function(){var t=this;return new Promise((function(n,r){t.paymentsClient?n(t.paymentsClient):e.resolveLib(t.googlePayOptions).then((function(e){t.paymentsClient=e,n(e)})).catch((function(e){return r(e)}))}))},e.prototype.onGooglePaymentButtonClicked=function(e){var t=this,n=this.paymentRequest;return this.transactionInfo=Object.assign({},this.transactionInfo,e),n.transactionInfo=this.transactionInfo,new Promise((function(e,r){t.paymentsClient?t.paymentsClient.loadPaymentData(n).then((function(t){e(t)})).catch((function(e){r(e)})):r("PaymentClient not initialized")}))},e.prototype.tokenizeWithCardConnect=function(e,t){return fetch("".concat(t,"/cardsecure/api/v1/ccn/tokenize"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encryptionhandler:"EC_GOOGLE_PAY",devicedata:e,unique:!0})}).then((function(e){return e.json()}))},e}();t.default=o},function(e,t,n){"use strict";n.r(t),n.d(t,"v1",(function(){return y})),n.d(t,"v3",(function(){return P})),n.d(t,"v4",(function(){return C})),n.d(t,"v5",(function(){return S}));var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),o=new Uint8Array(16);function a(){if(!r)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(o)}for(var i=[],s=0;s<256;++s)i[s]=(s+256).toString(16).substr(1);var c,d,u=function(e,t){var n=t||0,r=i;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")},p=0,l=0;var y=function(e,t,n){var r=t&&n||0,o=t||[],i=(e=e||{}).node||c,s=void 0!==e.clockseq?e.clockseq:d;if(null==i||null==s){var y=e.random||(e.rng||a)();null==i&&(i=c=[1|y[0],y[1],y[2],y[3],y[4],y[5]]),null==s&&(s=d=16383&(y[6]<<8|y[7]))}var f=void 0!==e.msecs?e.msecs:(new Date).getTime(),m=void 0!==e.nsecs?e.nsecs:l+1,h=f-p+(m-l)/1e4;if(h<0&&void 0===e.clockseq&&(s=s+1&16383),(h<0||f>p)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");p=f,l=m,d=s;var _=(1e4*(268435455&(f+=122192928e5))+m)%4294967296;o[r++]=_>>>24&255,o[r++]=_>>>16&255,o[r++]=_>>>8&255,o[r++]=255&_;var v=f/4294967296*1e4&268435455;o[r++]=v>>>8&255,o[r++]=255&v,o[r++]=v>>>24&15|16,o[r++]=v>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(var g=0;g<6;++g)o[r+g]=i[g];return t||u(o)};var f=function(e,t,n){var r=function(e,r,o,a){var i=o&&a||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}(e)),"string"==typeof r&&(r=function(e){var t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(r)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(r)||16!==r.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");var s=n(r.concat(e));if(s[6]=15&s[6]|t,s[8]=63&s[8]|128,o)for(var c=0;c<16;++c)o[i+c]=s[c];return o||u(s)};try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r};function m(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function h(e,t,n,r,o,a){return m((i=m(m(t,e),m(r,a)))<<(s=o)|i>>>32-s,n);var i,s}function _(e,t,n,r,o,a,i){return h(t&n|~t&r,e,t,o,a,i)}function v(e,t,n,r,o,a,i){return h(t&r|n&~r,e,t,o,a,i)}function g(e,t,n,r,o,a,i){return h(t^n^r,e,t,o,a,i)}function b(e,t,n,r,o,a,i){return h(n^(t|~r),e,t,o,a,i)}var P=f("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Array(t.length);for(var n=0;n<t.length;n++)e[n]=t.charCodeAt(n)}return function(e){var t,n,r,o=[],a=32*e.length;for(t=0;t<a;t+=8)n=e[t>>5]>>>t%32&255,r=parseInt("0123456789abcdef".charAt(n>>>4&15)+"0123456789abcdef".charAt(15&n),16),o.push(r);return o}(function(e,t){var n,r,o,a,i;e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;var s=1732584193,c=-271733879,d=-1732584194,u=271733878;for(n=0;n<e.length;n+=16)r=s,o=c,a=d,i=u,s=_(s,c,d,u,e[n],7,-680876936),u=_(u,s,c,d,e[n+1],12,-389564586),d=_(d,u,s,c,e[n+2],17,606105819),c=_(c,d,u,s,e[n+3],22,-1044525330),s=_(s,c,d,u,e[n+4],7,-176418897),u=_(u,s,c,d,e[n+5],12,1200080426),d=_(d,u,s,c,e[n+6],17,-1473231341),c=_(c,d,u,s,e[n+7],22,-45705983),s=_(s,c,d,u,e[n+8],7,1770035416),u=_(u,s,c,d,e[n+9],12,-1958414417),d=_(d,u,s,c,e[n+10],17,-42063),c=_(c,d,u,s,e[n+11],22,-1990404162),s=_(s,c,d,u,e[n+12],7,1804603682),u=_(u,s,c,d,e[n+13],12,-40341101),d=_(d,u,s,c,e[n+14],17,-1502002290),c=_(c,d,u,s,e[n+15],22,1236535329),s=v(s,c,d,u,e[n+1],5,-165796510),u=v(u,s,c,d,e[n+6],9,-1069501632),d=v(d,u,s,c,e[n+11],14,643717713),c=v(c,d,u,s,e[n],20,-373897302),s=v(s,c,d,u,e[n+5],5,-701558691),u=v(u,s,c,d,e[n+10],9,38016083),d=v(d,u,s,c,e[n+15],14,-660478335),c=v(c,d,u,s,e[n+4],20,-405537848),s=v(s,c,d,u,e[n+9],5,568446438),u=v(u,s,c,d,e[n+14],9,-1019803690),d=v(d,u,s,c,e[n+3],14,-187363961),c=v(c,d,u,s,e[n+8],20,1163531501),s=v(s,c,d,u,e[n+13],5,-1444681467),u=v(u,s,c,d,e[n+2],9,-51403784),d=v(d,u,s,c,e[n+7],14,1735328473),c=v(c,d,u,s,e[n+12],20,-1926607734),s=g(s,c,d,u,e[n+5],4,-378558),u=g(u,s,c,d,e[n+8],11,-2022574463),d=g(d,u,s,c,e[n+11],16,1839030562),c=g(c,d,u,s,e[n+14],23,-35309556),s=g(s,c,d,u,e[n+1],4,-1530992060),u=g(u,s,c,d,e[n+4],11,1272893353),d=g(d,u,s,c,e[n+7],16,-155497632),c=g(c,d,u,s,e[n+10],23,-1094730640),s=g(s,c,d,u,e[n+13],4,681279174),u=g(u,s,c,d,e[n],11,-358537222),d=g(d,u,s,c,e[n+3],16,-722521979),c=g(c,d,u,s,e[n+6],23,76029189),s=g(s,c,d,u,e[n+9],4,-640364487),u=g(u,s,c,d,e[n+12],11,-421815835),d=g(d,u,s,c,e[n+15],16,530742520),c=g(c,d,u,s,e[n+2],23,-995338651),s=b(s,c,d,u,e[n],6,-198630844),u=b(u,s,c,d,e[n+7],10,1126891415),d=b(d,u,s,c,e[n+14],15,-1416354905),c=b(c,d,u,s,e[n+5],21,-57434055),s=b(s,c,d,u,e[n+12],6,1700485571),u=b(u,s,c,d,e[n+3],10,-1894986606),d=b(d,u,s,c,e[n+10],15,-1051523),c=b(c,d,u,s,e[n+1],21,-2054922799),s=b(s,c,d,u,e[n+8],6,1873313359),u=b(u,s,c,d,e[n+15],10,-30611744),d=b(d,u,s,c,e[n+6],15,-1560198380),c=b(c,d,u,s,e[n+13],21,1309151649),s=b(s,c,d,u,e[n+4],6,-145523070),u=b(u,s,c,d,e[n+11],10,-1120210379),d=b(d,u,s,c,e[n+2],15,718787259),c=b(c,d,u,s,e[n+9],21,-343485551),s=m(s,r),c=m(c,o),d=m(d,a),u=m(u,i);return[s,c,d,u]}(function(e){var t,n=[];for(n[(e.length>>2)-1]=void 0,t=0;t<n.length;t+=1)n[t]=0;var r=8*e.length;for(t=0;t<r;t+=8)n[t>>5]|=(255&e[t/8])<<t%32;return n}(e),8*e.length))}));var C=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||a)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var i=0;i<16;++i)t[r+i]=o[i];return t||u(o)};function A(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function w(e,t){return e<<t|e>>>32-t}var S=f("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=new Array(r.length);for(var o=0;o<r.length;o++)e[o]=r.charCodeAt(o)}e.push(128);var a=e.length/4+2,i=Math.ceil(a/16),s=new Array(i);for(o=0;o<i;o++){s[o]=new Array(16);for(var c=0;c<16;c++)s[o][c]=e[64*o+4*c]<<24|e[64*o+4*c+1]<<16|e[64*o+4*c+2]<<8|e[64*o+4*c+3]}for(s[i-1][14]=8*(e.length-1)/Math.pow(2,32),s[i-1][14]=Math.floor(s[i-1][14]),s[i-1][15]=8*(e.length-1)&4294967295,o=0;o<i;o++){for(var d=new Array(80),u=0;u<16;u++)d[u]=s[o][u];for(u=16;u<80;u++)d[u]=w(d[u-3]^d[u-8]^d[u-14]^d[u-16],1);var p=n[0],l=n[1],y=n[2],f=n[3],m=n[4];for(u=0;u<80;u++){var h=Math.floor(u/20),_=w(p,5)+A(h,l,y,f)+m+t[h]+d[u]>>>0;m=f,f=y,y=w(l,30)>>>0,l=p,p=_}n[0]=n[0]+p>>>0,n[1]=n[1]+l>>>0,n[2]=n[2]+y>>>0,n[3]=n[3]+f>>>0,n[4]=n[4]+m>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}))}])}));
|