@paydock/client-sdk 1.11.1-beta → 1.11.2-beta
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 -478
- package/bundles/widget.umd.js +20 -432
- package/bundles/widget.umd.min.js +1 -1
- package/lib/api/api-internal.d.ts +0 -2
- package/lib/api/api-internal.js +0 -4
- package/lib/api/api-internal.js.map +1 -1
- package/lib/checkout-button/zipmoney.runner.d.ts +1 -0
- package/lib/checkout-button/zipmoney.runner.js +8 -0
- package/lib/checkout-button/zipmoney.runner.js.map +1 -1
- package/lib/components/iframe-event.d.ts +0 -3
- package/lib/components/iframe-event.js +0 -2
- package/lib/components/iframe-event.js.map +1 -1
- package/lib/components/link.d.ts +2 -4
- package/lib/components/link.js +0 -4
- package/lib/components/link.js.map +1 -1
- package/lib/components/param.d.ts +0 -6
- package/lib/components/param.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/wallet-buttons/google.wallet-service.js +2 -3
- package/lib/wallet-buttons/google.wallet-service.js.map +1 -1
- package/lib/wallet-buttons/mastercard.wallet-service.d.ts +1 -0
- package/lib/wallet-buttons/mastercard.wallet-service.js +4 -0
- package/lib/wallet-buttons/mastercard.wallet-service.js.map +1 -1
- package/lib/wallet-buttons/wallet-buttons.js +1 -1
- package/lib/wallet-buttons/wallet-buttons.js.map +1 -1
- package/package.json +1 -1
- package/slate.md +3 -233
- package/lib/api/api-service-internal.d.ts +0 -17
- package/lib/api/api-service-internal.js +0 -18
- package/lib/api/api-service-internal.js.map +0 -1
- package/lib/secure-remote-commerce/index.d.ts +0 -1
- package/lib/secure-remote-commerce/index.js +0 -2
- package/lib/secure-remote-commerce/index.js.map +0 -1
- package/lib/secure-remote-commerce/interfaces.d.ts +0 -58
- package/lib/secure-remote-commerce/interfaces.js +0 -22
- package/lib/secure-remote-commerce/interfaces.js.map +0 -1
- package/lib/secure-remote-commerce/providers/src-provider.d.ts +0 -10
- package/lib/secure-remote-commerce/providers/src-provider.js +0 -1
- package/lib/secure-remote-commerce/providers/src-provider.js.map +0 -1
- package/lib/secure-remote-commerce/providers/visa-src/index.d.ts +0 -1
- package/lib/secure-remote-commerce/providers/visa-src/index.js +0 -2
- package/lib/secure-remote-commerce/providers/visa-src/index.js.map +0 -1
- package/lib/secure-remote-commerce/providers/visa-src/visa-src.d.ts +0 -27
- package/lib/secure-remote-commerce/providers/visa-src/visa-src.js +0 -100
- package/lib/secure-remote-commerce/providers/visa-src/visa-src.js.map +0 -1
- package/lib/secure-remote-commerce/providers/visa-src/visa-src.styles.d.ts +0 -8
- package/lib/secure-remote-commerce/providers/visa-src/visa-src.styles.js +0 -10
- package/lib/secure-remote-commerce/providers/visa-src/visa-src.styles.js.map +0 -1
- package/lib/secure-remote-commerce/secure-remote-commerce.d.ts +0 -148
- package/lib/secure-remote-commerce/secure-remote-commerce.js +0 -210
- package/lib/secure-remote-commerce/secure-remote-commerce.js.map +0 -1
package/slate.md
CHANGED
|
@@ -1081,7 +1081,7 @@ button.load();
|
|
|
1081
1081
|
|
|
1082
1082
|
```javascript--es2015
|
|
1083
1083
|
// ES2015 | TypeScript
|
|
1084
|
-
import { WalletButtons } from '@paydock/client-sdk';
|
|
1084
|
+
import { WalletButtons } from '@paydock/client-sdk/widget';
|
|
1085
1085
|
|
|
1086
1086
|
var button = new WalletButtons(
|
|
1087
1087
|
'#widget',
|
|
@@ -1106,7 +1106,7 @@ button.load();
|
|
|
1106
1106
|
|
|
1107
1107
|
```javascript--es2015
|
|
1108
1108
|
// ES2015 | TypeScript
|
|
1109
|
-
import { WalletButtons } from '@paydock/client-sdk';
|
|
1109
|
+
import { WalletButtons } from '@paydock/client-sdk/widget';
|
|
1110
1110
|
|
|
1111
1111
|
var button = new WalletButtons(
|
|
1112
1112
|
'#widget',
|
|
@@ -1476,234 +1476,4 @@ Also, for **ApplePay via MPGS** you can initialize the `ApplePayPaymentRequest`
|
|
|
1476
1476
|
button.load();
|
|
1477
1477
|
</script>
|
|
1478
1478
|
</html>
|
|
1479
|
-
```
|
|
1480
|
-
## Secure Remote Commerce
|
|
1481
|
-
You can find description of all methods and parameters [here](https://www.npmjs.com/package/@paydock/client-sdk#secure-remote-commerce)
|
|
1482
|
-
|
|
1483
|
-
This widget provides you with the ability to easily integrate with SRC providers. Currently Visa SRC is supported.
|
|
1484
|
-
|
|
1485
|
-
## SRC simple example
|
|
1486
|
-
|
|
1487
|
-
### Container
|
|
1488
|
-
|
|
1489
|
-
```html
|
|
1490
|
-
<div id="checkoutButton"></div>
|
|
1491
|
-
<div id="checkoutIframe"></div>
|
|
1492
|
-
```
|
|
1493
|
-
|
|
1494
|
-
You must create a container for the initial checkout button, and a different one for the checkout iFrame. Inside the first tag the button will be initialized, and inside the second one the iFrame will be loaded once the button is clicked.
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
### Initialization
|
|
1498
|
-
```javascript
|
|
1499
|
-
var src = new paydock.SRC(
|
|
1500
|
-
"#checkoutButton",
|
|
1501
|
-
"#checkoutIframe",
|
|
1502
|
-
"scheme_service_id",
|
|
1503
|
-
"paydock_public_key",
|
|
1504
|
-
{}, // meta
|
|
1505
|
-
);
|
|
1506
|
-
src.load();
|
|
1507
|
-
```
|
|
1508
|
-
|
|
1509
|
-
```javascript--es2015
|
|
1510
|
-
// ES2015 | TypeScript
|
|
1511
|
-
|
|
1512
|
-
import { SRC } from '@paydock/client-sdk';
|
|
1513
|
-
|
|
1514
|
-
var src = new SRC(
|
|
1515
|
-
"#checkoutButton",
|
|
1516
|
-
"#checkoutIframe",
|
|
1517
|
-
"scheme_service_id",
|
|
1518
|
-
"paydock_public_key",
|
|
1519
|
-
{}, // meta
|
|
1520
|
-
);
|
|
1521
|
-
src.load();
|
|
1522
|
-
```
|
|
1523
|
-
|
|
1524
|
-
### Full example
|
|
1525
|
-
|
|
1526
|
-
```html
|
|
1527
|
-
<!DOCTYPE html>
|
|
1528
|
-
<html lang="en">
|
|
1529
|
-
<head>
|
|
1530
|
-
<meta charset="UTF-8">
|
|
1531
|
-
<title>Title</title>
|
|
1532
|
-
<style>iframe {border: 0;width: 40%;height: 300px;}</style>
|
|
1533
|
-
</head>
|
|
1534
|
-
<body>
|
|
1535
|
-
<div id="checkoutButton"></div>
|
|
1536
|
-
<div id="checkoutIframe"></div>
|
|
1537
|
-
<script src="https://app-sandbox.paydock.com/v1/widget.umd.js" ></script>
|
|
1538
|
-
<script>
|
|
1539
|
-
var src = new paydock.SRC(
|
|
1540
|
-
"#checkoutButton",
|
|
1541
|
-
"#checkoutIframe",
|
|
1542
|
-
"scheme_service_id",
|
|
1543
|
-
"paydock_public_key",
|
|
1544
|
-
{},
|
|
1545
|
-
);
|
|
1546
|
-
src.load();
|
|
1547
|
-
</script>
|
|
1548
|
-
</body>
|
|
1549
|
-
</html>
|
|
1550
|
-
```
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
## SRC advanced example
|
|
1554
|
-
|
|
1555
|
-
### Settings
|
|
1556
|
-
|
|
1557
|
-
```javascript
|
|
1558
|
-
|
|
1559
|
-
src.setEnv('sandbox'); // set enviroment
|
|
1560
|
-
|
|
1561
|
-
src.hideButton(); // hide button
|
|
1562
|
-
|
|
1563
|
-
src.showButton(); // show button
|
|
1564
|
-
|
|
1565
|
-
src.hideCheckout(); // hide checkout iframe
|
|
1566
|
-
|
|
1567
|
-
src.showCheckout(); // show checkout iframe
|
|
1568
|
-
|
|
1569
|
-
src.on('checkoutButtonLoaded', () => {
|
|
1570
|
-
console.log("Button loaded");
|
|
1571
|
-
});
|
|
1572
|
-
|
|
1573
|
-
src.on('checkoutButtonClicked', () => {
|
|
1574
|
-
console.log("Button clicked");
|
|
1575
|
-
});
|
|
1576
|
-
|
|
1577
|
-
src.on('iframeLoaded', () => {
|
|
1578
|
-
console.log("Initial iframe loaded");
|
|
1579
|
-
});
|
|
1580
|
-
|
|
1581
|
-
src.on('checkoutReady', () => {
|
|
1582
|
-
console.log("Checkout ready to be used");
|
|
1583
|
-
});
|
|
1584
|
-
|
|
1585
|
-
src.on('checkoutCompleted', (token) => {
|
|
1586
|
-
console.log(token);
|
|
1587
|
-
});
|
|
1588
|
-
|
|
1589
|
-
src.on('checkoutError', (error) => {
|
|
1590
|
-
console.log(error);
|
|
1591
|
-
});
|
|
1592
|
-
```
|
|
1593
|
-
|
|
1594
|
-
Here you can see how you can use this methods to customize your checkout experience
|
|
1595
|
-
|
|
1596
|
-
### Full example
|
|
1597
|
-
|
|
1598
|
-
```html
|
|
1599
|
-
<!DOCTYPE html>
|
|
1600
|
-
<html lang="en">
|
|
1601
|
-
<head>
|
|
1602
|
-
<meta charset="UTF-8">
|
|
1603
|
-
<title>Title</title>
|
|
1604
|
-
<style>iframe {border: 0;width: 40%;height: 450px;}</style>
|
|
1605
|
-
</head>
|
|
1606
|
-
<body>
|
|
1607
|
-
<div id="checkoutButton"></div>
|
|
1608
|
-
<div id="checkoutIframe"></div>
|
|
1609
|
-
<script src="https://app-sandbox.paydock.com/v1/widget.umd.js" ></script>
|
|
1610
|
-
<script>
|
|
1611
|
-
var src = new paydock.SRC(
|
|
1612
|
-
"#checkoutButton",
|
|
1613
|
-
"#checkoutIframe",
|
|
1614
|
-
"scheme_service_id",
|
|
1615
|
-
"paydock_public_key",
|
|
1616
|
-
{},
|
|
1617
|
-
);
|
|
1618
|
-
|
|
1619
|
-
src.on('checkoutReady', () => {
|
|
1620
|
-
console.log("Checkout ready to be used");
|
|
1621
|
-
});
|
|
1622
|
-
|
|
1623
|
-
src.on('checkoutCompleted', (token) => {
|
|
1624
|
-
console.log(token);
|
|
1625
|
-
});
|
|
1626
|
-
src.load();
|
|
1627
|
-
</script>
|
|
1628
|
-
</body>
|
|
1629
|
-
</html>
|
|
1630
|
-
```
|
|
1631
|
-
|
|
1632
|
-
## Customization options for address fields
|
|
1633
|
-
### Shipping address:
|
|
1634
|
-
|
|
1635
|
-
To customize shipping address experience we use a flag that manages how VisaSRC requires or not shipping address to the customer. Options are NONE (default option), POSTAL_COUNTRY or ALL.
|
|
1636
|
-
|
|
1637
|
-
```
|
|
1638
|
-
var src = new paydock.SRC(
|
|
1639
|
-
"#checkoutButton",
|
|
1640
|
-
"#checkoutIframe",
|
|
1641
|
-
"scheme_service_id",
|
|
1642
|
-
"paydock_public_key",
|
|
1643
|
-
{
|
|
1644
|
-
"dpa_transaction_options": {
|
|
1645
|
-
"dpa_shipping_preference": "ALL"
|
|
1646
|
-
}
|
|
1647
|
-
},
|
|
1648
|
-
);
|
|
1649
|
-
```
|
|
1650
|
-
|
|
1651
|
-
With this the Visa popup requires the shipping address from consumer, and these information will be stored in the Paydock charge.
|
|
1652
|
-
|
|
1653
|
-
Another option is at time of creating the charge. Say that you have a different way of collecting the shipping address (outside Paydock checkout), you can then disable the shipping address on our SRC widget and send it when creating the charge creation after getting the One Time Token out of the SRC widget:
|
|
1654
|
-
|
|
1655
|
-
```
|
|
1656
|
-
POST v1/charges
|
|
1657
|
-
|
|
1658
|
-
{
|
|
1659
|
-
"amount": "10.00",
|
|
1660
|
-
"currency": "AUD",
|
|
1661
|
-
"token": "token",
|
|
1662
|
-
"customer": {
|
|
1663
|
-
"payment_source": {
|
|
1664
|
-
"gateway_id": "gateway_id"
|
|
1665
|
-
}
|
|
1666
|
-
},
|
|
1667
|
-
"shipping": {
|
|
1668
|
-
"address_line1": "address_line1",
|
|
1669
|
-
"address_line2": "address_line2",
|
|
1670
|
-
"address_line3": "address_line3",
|
|
1671
|
-
"address_city": "address_city",
|
|
1672
|
-
"address_postcode": "address_postcode",
|
|
1673
|
-
"address_state": "address_state",
|
|
1674
|
-
"address_country": "address_country"
|
|
1675
|
-
}
|
|
1676
|
-
}
|
|
1677
|
-
```
|
|
1678
|
-
|
|
1679
|
-
- Billing address:
|
|
1680
|
-
|
|
1681
|
-
Billing address fields are always present on the checkout and required when adding a new credit card (or for new consumer checkout). You can send billing fields on the meta data to pre-fill these fields inside the customer object:
|
|
1682
|
-
|
|
1683
|
-
```
|
|
1684
|
-
var src = new paydock.SRC(
|
|
1685
|
-
"#checkoutButton",
|
|
1686
|
-
"#checkoutIframe",
|
|
1687
|
-
"scheme_service_id",
|
|
1688
|
-
"paydock_public_key",
|
|
1689
|
-
{
|
|
1690
|
-
"customer": {
|
|
1691
|
-
"email": "test@email.com",
|
|
1692
|
-
"first_name": "Name",
|
|
1693
|
-
"last_name": "Surname",
|
|
1694
|
-
"phone": {
|
|
1695
|
-
"country_code": "1",
|
|
1696
|
-
"phone": "2124567890"
|
|
1697
|
-
},
|
|
1698
|
-
"payment_source": {
|
|
1699
|
-
"address_line1": "Line 1",
|
|
1700
|
-
"address_line2": "Line 2",
|
|
1701
|
-
"address_city": "Miami",
|
|
1702
|
-
"address_postcode": "33126",
|
|
1703
|
-
"address_state": "FL",
|
|
1704
|
-
"address_country": "US"
|
|
1705
|
-
}
|
|
1706
|
-
}
|
|
1707
|
-
},
|
|
1708
|
-
);
|
|
1709
|
-
```
|
|
1479
|
+
```
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ApiInternal } from './api-internal';
|
|
2
|
-
export declare class ApiServiceInternal {
|
|
3
|
-
protected api: ApiInternal;
|
|
4
|
-
constructor(api: ApiInternal);
|
|
5
|
-
getConfig(service_id: string): Promise<GetConfigResponse>;
|
|
6
|
-
}
|
|
7
|
-
export declare enum CARD_SCHEME_SERVICE {
|
|
8
|
-
VISA_SRC = "VisaSRC"
|
|
9
|
-
}
|
|
10
|
-
export interface GetConfigResponse {
|
|
11
|
-
type: string;
|
|
12
|
-
merchant: string;
|
|
13
|
-
username: string;
|
|
14
|
-
password: string;
|
|
15
|
-
certificate: string;
|
|
16
|
-
certificate_passphrase: string;
|
|
17
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const GET_CONFIG = '/v1/services/:service_id/config';
|
|
2
|
-
export class ApiServiceInternal {
|
|
3
|
-
constructor(api) {
|
|
4
|
-
this.api = api;
|
|
5
|
-
}
|
|
6
|
-
getConfig(service_id) {
|
|
7
|
-
const url = GET_CONFIG.replace(':service_id', service_id);
|
|
8
|
-
return this.api
|
|
9
|
-
.getClientPromise('GET', url)
|
|
10
|
-
.send(undefined);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export var CARD_SCHEME_SERVICE;
|
|
14
|
-
(function (CARD_SCHEME_SERVICE) {
|
|
15
|
-
CARD_SCHEME_SERVICE["VISA_SRC"] = "VisaSRC";
|
|
16
|
-
})(CARD_SCHEME_SERVICE || (CARD_SCHEME_SERVICE = {}));
|
|
17
|
-
;
|
|
18
|
-
//# sourceMappingURL=../../src/lib/api/api-service-internal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-service-internal.js","sourceRoot":"","sources":["../../api/api-service-internal.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD,MAAM,OAAO,kBAAkB;IAC3B,YAAsB,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;IACtC,CAAC;IAED,SAAS,CAAC,UAAkB;QACxB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,GAAG;aACV,gBAAgB,CAAwB,KAAK,EAAE,GAAG,CAAC;aACnD,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC3B,2CAAoB,CAAA;AACxB,CAAC,EAFW,mBAAmB,KAAnB,mBAAmB,QAE9B;AAAA,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { SRC } from './secure-remote-commerce';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../secure-remote-commerce/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* List of available event's name in the SRC checkout lifecycle
|
|
3
|
-
* @enum EVENT
|
|
4
|
-
*
|
|
5
|
-
* @type {object}
|
|
6
|
-
* @param {string} CHECKOUT_BUTTON_LOADED=checkoutButtonLoaded
|
|
7
|
-
* @param {string} CHECKOUT_BUTTON_CLICKED=checkoutButtonClicked
|
|
8
|
-
* @param {string} IFRAME_LOADED=iframeLoaded
|
|
9
|
-
* @param {string} CHECKOUT_READY=checkoutReady
|
|
10
|
-
* @param {string} CHECKOUT_COMPLETED=checkoutCompleted
|
|
11
|
-
* @param {string} CHECKOUT_ERROR=checkoutError
|
|
12
|
-
*/
|
|
13
|
-
export declare enum EVENT {
|
|
14
|
-
CHECKOUT_BUTTON_LOADED = "checkoutButtonLoaded",
|
|
15
|
-
CHECKOUT_BUTTON_CLICKED = "checkoutButtonClicked",
|
|
16
|
-
IFRAME_LOADED = "iframeLoaded",
|
|
17
|
-
CHECKOUT_READY = "checkoutReady",
|
|
18
|
-
CHECKOUT_COMPLETED = "checkoutCompleted",
|
|
19
|
-
CHECKOUT_ERROR = "checkoutError"
|
|
20
|
-
}
|
|
21
|
-
export interface IVisaSRCMeta {
|
|
22
|
-
srci_transaction_id?: string;
|
|
23
|
-
dpa_data?: {
|
|
24
|
-
dpa_presentation_name?: string;
|
|
25
|
-
dpa_uri?: string;
|
|
26
|
-
};
|
|
27
|
-
dpa_transaction_options?: {
|
|
28
|
-
dpa_locale?: string;
|
|
29
|
-
dpa_accepted_billing_countries?: string[];
|
|
30
|
-
dpa_accepted_shipping_countries?: string[];
|
|
31
|
-
dpa_billing_preference?: DPA_SHIPPING_BILLING_PREFERENCE;
|
|
32
|
-
dpa_shipping_preference?: DPA_SHIPPING_BILLING_PREFERENCE;
|
|
33
|
-
consumer_name_requested?: boolean;
|
|
34
|
-
consumer_email_address_requested?: boolean;
|
|
35
|
-
consumer_phone_number_requested?: boolean;
|
|
36
|
-
payment_options?: {
|
|
37
|
-
dpa_dynamic_data_ttl_minutes?: number;
|
|
38
|
-
dynamic_data_type?: DPA_DYNAMIC_DATA_TYPE;
|
|
39
|
-
dpa_pan_requested?: boolean;
|
|
40
|
-
};
|
|
41
|
-
review_action?: REVIEW_ACTION;
|
|
42
|
-
checkout_description?: string;
|
|
43
|
-
transaction_type?: TRANSACTION_TYPE;
|
|
44
|
-
order_type?: ORDER_TYPE;
|
|
45
|
-
transaction_amount?: {
|
|
46
|
-
transaction_amount?: number;
|
|
47
|
-
transaction_currency_code?: string;
|
|
48
|
-
};
|
|
49
|
-
merchant_order_id?: string;
|
|
50
|
-
merchant_category_code?: string;
|
|
51
|
-
merchant_country_code?: string;
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
export declare type DPA_SHIPPING_BILLING_PREFERENCE = 'ALL' | 'POSTAL_COUNTRY' | 'NONE';
|
|
55
|
-
export declare type DPA_DYNAMIC_DATA_TYPE = 'TAVV' | 'DTVV';
|
|
56
|
-
export declare type REVIEW_ACTION = 'pay' | 'continue';
|
|
57
|
-
export declare type TRANSACTION_TYPE = 'PURCHASE' | 'BILL_PAYMENT' | 'MONEY_TRANSFER';
|
|
58
|
-
export declare type ORDER_TYPE = 'REAUTHORIZATION' | 'RECURRING' | 'INSTALLMENT';
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* List of available event's name in the SRC checkout lifecycle
|
|
3
|
-
* @enum EVENT
|
|
4
|
-
*
|
|
5
|
-
* @type {object}
|
|
6
|
-
* @param {string} CHECKOUT_BUTTON_LOADED=checkoutButtonLoaded
|
|
7
|
-
* @param {string} CHECKOUT_BUTTON_CLICKED=checkoutButtonClicked
|
|
8
|
-
* @param {string} IFRAME_LOADED=iframeLoaded
|
|
9
|
-
* @param {string} CHECKOUT_READY=checkoutReady
|
|
10
|
-
* @param {string} CHECKOUT_COMPLETED=checkoutCompleted
|
|
11
|
-
* @param {string} CHECKOUT_ERROR=checkoutError
|
|
12
|
-
*/
|
|
13
|
-
export var EVENT;
|
|
14
|
-
(function (EVENT) {
|
|
15
|
-
EVENT["CHECKOUT_BUTTON_LOADED"] = "checkoutButtonLoaded";
|
|
16
|
-
EVENT["CHECKOUT_BUTTON_CLICKED"] = "checkoutButtonClicked";
|
|
17
|
-
EVENT["IFRAME_LOADED"] = "iframeLoaded";
|
|
18
|
-
EVENT["CHECKOUT_READY"] = "checkoutReady";
|
|
19
|
-
EVENT["CHECKOUT_COMPLETED"] = "checkoutCompleted";
|
|
20
|
-
EVENT["CHECKOUT_ERROR"] = "checkoutError";
|
|
21
|
-
})(EVENT || (EVENT = {}));
|
|
22
|
-
//# sourceMappingURL=../../src/lib/secure-remote-commerce/interfaces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../secure-remote-commerce/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACb,wDAA+C,CAAA;IAC/C,0DAAiD,CAAA;IACjD,uCAA8B,CAAA;IAC9B,yCAAgC,CAAA;IAChC,iDAAwC,CAAA;IACxC,yCAAgC,CAAA;AACpC,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=../../../src/lib/secure-remote-commerce/providers/src-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src-provider.js","sourceRoot":"","sources":["../../../secure-remote-commerce/providers/src-provider.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { VisaSRC } from './visa-src';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../secure-remote-commerce/providers/visa-src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Link } from '../../../components/link';
|
|
2
|
-
import { Container } from '../../../components/container';
|
|
3
|
-
import { IFrame } from '../../../components/iframe';
|
|
4
|
-
import { IFrameEvent } from '../../../components/iframe-event';
|
|
5
|
-
import { EventEmitter } from "../../../helper/event-emitter";
|
|
6
|
-
import { SRCProvider } from '../src-provider';
|
|
7
|
-
import { IVisaSRCMeta } from '../../interfaces';
|
|
8
|
-
export declare class VisaSRC implements SRCProvider {
|
|
9
|
-
protected meta: IVisaSRCMeta;
|
|
10
|
-
protected eventEmitter: EventEmitter;
|
|
11
|
-
protected autoResize: any;
|
|
12
|
-
protected link: Link;
|
|
13
|
-
protected iFrameContainer: Container;
|
|
14
|
-
protected buttonContainer: Container;
|
|
15
|
-
protected iFrame: IFrame;
|
|
16
|
-
protected iFrameEvent: IFrameEvent;
|
|
17
|
-
constructor(button_selector: string, iframe_selector: string, service_id: string, public_key: string, meta: IVisaSRCMeta, eventEmitter: EventEmitter, autoResize: any, env: string, alias: string);
|
|
18
|
-
private setupIFrameEvents;
|
|
19
|
-
load(): void;
|
|
20
|
-
getEnv(): string;
|
|
21
|
-
hideButton(_saveSize: boolean): void;
|
|
22
|
-
showButton(): void;
|
|
23
|
-
hideCheckout(saveSize: boolean): void;
|
|
24
|
-
showCheckout(): void;
|
|
25
|
-
reload(): void;
|
|
26
|
-
useAutoResize(force?: boolean): void;
|
|
27
|
-
}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Link, VISA_SRC } from '../../../components/link';
|
|
2
|
-
import { Container } from '../../../components/container';
|
|
3
|
-
import { IFrame } from '../../../components/iframe';
|
|
4
|
-
import { IFrameEvent } from '../../../components/iframe-event';
|
|
5
|
-
import { VisaSRCStyles } from "./visa-src.styles";
|
|
6
|
-
import { EVENT } from '../../interfaces';
|
|
7
|
-
export class VisaSRC {
|
|
8
|
-
constructor(button_selector, iframe_selector, service_id, public_key, meta, eventEmitter, autoResize, env, alias) {
|
|
9
|
-
this.meta = meta;
|
|
10
|
-
this.eventEmitter = eventEmitter;
|
|
11
|
-
this.autoResize = autoResize;
|
|
12
|
-
this.link = new Link(VISA_SRC);
|
|
13
|
-
this.link.setParams(Object.assign({ service_id, public_key }, meta && { meta: JSON.stringify(meta) }));
|
|
14
|
-
if (env)
|
|
15
|
-
this.link.setEnv(env, alias);
|
|
16
|
-
this.iFrameContainer = new Container(iframe_selector);
|
|
17
|
-
this.iFrame = new IFrame(this.iFrameContainer);
|
|
18
|
-
this.buttonContainer = new Container(button_selector);
|
|
19
|
-
this.iFrameEvent = new IFrameEvent(window);
|
|
20
|
-
this.setupIFrameEvents();
|
|
21
|
-
}
|
|
22
|
-
setupIFrameEvents() {
|
|
23
|
-
const widgetId = this.link.getParams().widget_id;
|
|
24
|
-
this.iFrameEvent.on(EVENT.CHECKOUT_READY, widgetId, ({ data }) => {
|
|
25
|
-
this.eventEmitter.emit(EVENT.CHECKOUT_READY, data);
|
|
26
|
-
});
|
|
27
|
-
this.iFrameEvent.on(EVENT.CHECKOUT_COMPLETED, widgetId, ({ data }) => {
|
|
28
|
-
this.eventEmitter.emit(EVENT.CHECKOUT_COMPLETED, data);
|
|
29
|
-
});
|
|
30
|
-
this.iFrameEvent.on(EVENT.CHECKOUT_ERROR, widgetId, ({ data }) => {
|
|
31
|
-
this.eventEmitter.emit(EVENT.CHECKOUT_ERROR, data);
|
|
32
|
-
});
|
|
33
|
-
if (this.autoResize)
|
|
34
|
-
this.useAutoResize(true);
|
|
35
|
-
}
|
|
36
|
-
load() {
|
|
37
|
-
const container = document.createElement('div');
|
|
38
|
-
container.setAttribute('style', VisaSRCStyles.buttonContainerStyles);
|
|
39
|
-
const checkoutButton = document.createElement('button');
|
|
40
|
-
checkoutButton.setAttribute('style', VisaSRCStyles.buttonStyles);
|
|
41
|
-
checkoutButton.innerHTML = 'Checkout';
|
|
42
|
-
const footerContainer = document.createElement('div');
|
|
43
|
-
footerContainer.setAttribute('style', VisaSRCStyles.footerContainerStyles);
|
|
44
|
-
const verticalLine = document.createElement('div');
|
|
45
|
-
verticalLine.setAttribute('style', VisaSRCStyles.verticalLineStyle);
|
|
46
|
-
const footerText = document.createElement('p');
|
|
47
|
-
footerText.setAttribute('style', VisaSRCStyles.footerTextStyles);
|
|
48
|
-
footerText.innerHTML = 'WE ACCEPT';
|
|
49
|
-
const clickToPayAllCards = document.createElement('img');
|
|
50
|
-
clickToPayAllCards.setAttribute('style', VisaSRCStyles.clickToPayAllCardsStyle);
|
|
51
|
-
clickToPayAllCards.src = this.link.getBaseUrl() + '/images/visa-src/src-vmad.svg';
|
|
52
|
-
checkoutButton.onclick = () => {
|
|
53
|
-
this.eventEmitter.emit(EVENT.CHECKOUT_BUTTON_CLICKED, {});
|
|
54
|
-
this.iFrame.load(this.link.getUrl(), { title: 'Visa SRC checkout' });
|
|
55
|
-
this.iFrame.getElement().onload = () => this.eventEmitter.emit(EVENT.IFRAME_LOADED, {});
|
|
56
|
-
};
|
|
57
|
-
container.appendChild(checkoutButton);
|
|
58
|
-
container.appendChild(footerContainer);
|
|
59
|
-
footerContainer.appendChild(footerText);
|
|
60
|
-
footerContainer.appendChild(clickToPayAllCards);
|
|
61
|
-
this.buttonContainer.getElement().appendChild(container);
|
|
62
|
-
this.eventEmitter.emit(EVENT.CHECKOUT_BUTTON_LOADED, {});
|
|
63
|
-
}
|
|
64
|
-
getEnv() {
|
|
65
|
-
return this.link.getEnv();
|
|
66
|
-
}
|
|
67
|
-
hideButton(_saveSize) {
|
|
68
|
-
if (this.buttonContainer.getElement())
|
|
69
|
-
this.buttonContainer.getElement().style['display'] = 'none';
|
|
70
|
-
}
|
|
71
|
-
showButton() {
|
|
72
|
-
if (this.buttonContainer.getElement())
|
|
73
|
-
this.buttonContainer.getElement().style['display'] = 'block';
|
|
74
|
-
}
|
|
75
|
-
hideCheckout(saveSize) {
|
|
76
|
-
if (this.iFrame)
|
|
77
|
-
this.iFrame.hide();
|
|
78
|
-
}
|
|
79
|
-
showCheckout() {
|
|
80
|
-
if (this.iFrame)
|
|
81
|
-
this.iFrame.show();
|
|
82
|
-
}
|
|
83
|
-
reload() {
|
|
84
|
-
this.iFrame.remove();
|
|
85
|
-
this.load();
|
|
86
|
-
}
|
|
87
|
-
useAutoResize(force) {
|
|
88
|
-
if (this.autoResize && !force)
|
|
89
|
-
return;
|
|
90
|
-
this.autoResize = true;
|
|
91
|
-
this.iFrameEvent.on('resize', this.link.getParams().widget_id, ({ data }) => {
|
|
92
|
-
if (this.iFrame.getElement()) {
|
|
93
|
-
this.iFrame.getElement().scrolling = 'no';
|
|
94
|
-
if (data.height)
|
|
95
|
-
this.iFrame.setStyle('height', data.height + 'px');
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=../../../../src/lib/secure-remote-commerce/providers/visa-src/visa-src.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visa-src.js","sourceRoot":"","sources":["../../../../secure-remote-commerce/providers/visa-src/visa-src.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class VisaSRCStyles {
|
|
2
|
-
}
|
|
3
|
-
VisaSRCStyles.buttonContainerStyles = "display: flex; flex-direction: column; justify-content: center; align-items: center;";
|
|
4
|
-
VisaSRCStyles.buttonStyles = "color: #ffff; background-color: #ffbe24; border: none; width: 100%; min-height: 40px; font-size: 16px; font-weight: bold; line-height: 19px; letter-spacing: 0.7px; text-transform: uppercase; border-radius: 4px; margin-bottom: 30px; cursor: pointer;";
|
|
5
|
-
VisaSRCStyles.footerContainerStyles = "display: flex; flex: 1; flex-wrap: wrap; justify-content: center;";
|
|
6
|
-
VisaSRCStyles.footerTextStyles = "text-align: center; color: #666666; margin: 0;";
|
|
7
|
-
VisaSRCStyles.verticalLineStyle = "display: inline-block; padding: 0.5px; background-color: #E5E5E5; height: 15px;";
|
|
8
|
-
VisaSRCStyles.clickToPayAllCardsStyle = "height: 21px; margin-left: 8px; vertical-align: middle;";
|
|
9
|
-
// TODO: Remind to add in docs that if merchant's div is smaller than 240px the button styles will broke
|
|
10
|
-
//# sourceMappingURL=../../../../src/lib/secure-remote-commerce/providers/visa-src/visa-src.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visa-src.styles.js","sourceRoot":"","sources":["../../../../secure-remote-commerce/providers/visa-src/visa-src.styles.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;;AACR,mCAAqB,GAAG,sFAAsF,CAAC;AAE/G,0BAAY,GAAG,0PAA0P,CAAC;AAE1Q,mCAAqB,GAAG,mEAAmE,CAAC;AAE5F,8BAAgB,GAAG,gDAAgD,CAAC;AAEpE,+BAAiB,GAAG,iFAAiF,CAAC;AAEtG,qCAAuB,GAAG,yDAAyD,CAAC;AAGtG,wGAAwG"}
|