globalpayments-api 3.10.14 → 3.11.0
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/CHANGELOG.md +255 -240
- package/LICENSE.md +257 -257
- package/README.md +148 -148
- package/appsec.properties +8 -0
- package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +3 -2
- package/lib/src/Builders/BaseBuilder/ValidationClause.js +23 -15
- package/lib/src/Builders/BaseBuilder/ValidationClause.js.map +1 -1
- package/lib/src/Builders/BaseBuilder/Validations.js +7 -2
- package/lib/src/Builders/BaseBuilder/Validations.js.map +1 -1
- package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.d.ts +11 -2
- package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js +44 -5
- package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js.map +1 -1
- package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js +2 -2
- package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js.map +1 -1
- package/lib/src/Entities/Enums.d.ts +4 -2
- package/lib/src/Entities/Enums.js +3 -1
- package/lib/src/Entities/Enums.js.map +1 -1
- package/lib/src/Entities/GpApi/PorticoTokenConfig.d.ts +25 -0
- package/lib/src/Entities/GpApi/PorticoTokenConfig.js +30 -0
- package/lib/src/Entities/GpApi/PorticoTokenConfig.js.map +1 -0
- package/lib/src/Entities/GpApi/index.d.ts +1 -0
- package/lib/src/Entities/GpApi/index.js +1 -0
- package/lib/src/Entities/GpApi/index.js.map +1 -1
- package/lib/src/Entities/RecurringEntity.js +2 -2
- package/lib/src/Entities/RecurringEntity.js.map +1 -1
- package/lib/src/Entities/Transaction.d.ts +2 -0
- package/lib/src/Entities/Transaction.js +2 -0
- package/lib/src/Entities/Transaction.js.map +1 -1
- package/lib/src/Entities/TransactionSummary.d.ts +1 -0
- package/lib/src/Entities/TransactionSummary.js +1 -0
- package/lib/src/Entities/TransactionSummary.js.map +1 -1
- package/lib/src/Entities/UPA/ExtraChargeType.d.ts +8 -0
- package/lib/src/Entities/UPA/ExtraChargeType.js +13 -0
- package/lib/src/Entities/UPA/ExtraChargeType.js.map +1 -0
- package/lib/src/Entities/UPA/Lodging.d.ts +11 -0
- package/lib/src/Entities/UPA/Lodging.js +15 -0
- package/lib/src/Entities/UPA/Lodging.js.map +1 -0
- package/lib/src/Entities/UPA/POSData.d.ts +6 -0
- package/lib/src/Entities/UPA/POSData.js +11 -0
- package/lib/src/Entities/UPA/POSData.js.map +1 -0
- package/lib/src/Entities/UPA/ProcessIndicator.d.ts +1 -1
- package/lib/src/Entities/UPA/ProcessIndicator.js.map +1 -1
- package/lib/src/Entities/UPA/UpaParam.d.ts +7 -7
- package/lib/src/Entities/UPA/UpaParam.js.map +1 -1
- package/lib/src/Entities/UPA/UpaTransactionData.d.ts +5 -5
- package/lib/src/Entities/UPA/UpaTransactionData.js.map +1 -1
- package/lib/src/Entities/UPA/index.d.ts +3 -0
- package/lib/src/Entities/UPA/index.js +3 -0
- package/lib/src/Entities/UPA/index.js.map +1 -1
- package/lib/src/Gateways/GpApiConnector.js +23 -4
- package/lib/src/Gateways/GpApiConnector.js.map +1 -1
- package/lib/src/Gateways/PorticoConnector.d.ts +1 -1
- package/lib/src/Gateways/PorticoConnector.js +2 -0
- package/lib/src/Gateways/PorticoConnector.js.map +1 -1
- package/lib/src/Mapping/GpApiMapping.js +7 -0
- package/lib/src/Mapping/GpApiMapping.js.map +1 -1
- package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +6 -0
- package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +25 -2
- package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
- package/lib/src/Services/GpApiServices.js +4 -1
- package/lib/src/Services/GpApiServices.js.map +1 -1
- package/lib/src/Terminals/Abstractions/IDeviceInterface.d.ts +23 -2
- package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +71 -24
- package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +54 -22
- package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +98 -13
- package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
- package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +6 -3
- package/lib/src/Terminals/Builders/TerminalBuilder.js +9 -0
- package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
- package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +16 -6
- package/lib/src/Terminals/Builders/TerminalManageBuilder.js +27 -2
- package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
- package/lib/src/Terminals/Builders/TerminalReportBuilder.d.ts +17 -0
- package/lib/src/Terminals/Builders/TerminalReportBuilder.js +57 -0
- package/lib/src/Terminals/Builders/TerminalReportBuilder.js.map +1 -0
- package/lib/src/Terminals/Builders/index.d.ts +1 -0
- package/lib/src/Terminals/Builders/index.js +1 -0
- package/lib/src/Terminals/Builders/index.js.map +1 -1
- package/lib/src/Terminals/DeviceController.d.ts +6 -5
- package/lib/src/Terminals/DeviceController.js.map +1 -1
- package/lib/src/Terminals/DeviceInterface.d.ts +23 -3
- package/lib/src/Terminals/DeviceInterface.js +68 -0
- package/lib/src/Terminals/DeviceInterface.js.map +1 -1
- package/lib/src/Terminals/Enums.d.ts +11 -0
- package/lib/src/Terminals/Enums.js +14 -1
- package/lib/src/Terminals/Enums.js.map +1 -1
- package/lib/src/Terminals/TerminalResponse.d.ts +44 -36
- package/lib/src/Terminals/TerminalResponse.js +8 -0
- package/lib/src/Terminals/TerminalResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/Entities/UpaMessageId.d.ts +10 -1
- package/lib/src/Terminals/UPA/Entities/UpaMessageId.js +9 -0
- package/lib/src/Terminals/UPA/Entities/UpaMessageId.js.map +1 -1
- package/lib/src/Terminals/UPA/Entities/UpaModels.d.ts +62 -0
- package/lib/src/Terminals/UPA/Entities/UpaModels.js +28 -0
- package/lib/src/Terminals/UPA/Entities/UpaModels.js.map +1 -0
- package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.d.ts +7 -0
- package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js +12 -0
- package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js.map +1 -0
- package/lib/src/Terminals/UPA/Entities/index.d.ts +1 -0
- package/lib/src/Terminals/UPA/Entities/index.js +1 -0
- package/lib/src/Terminals/UPA/Entities/index.js.map +1 -1
- package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.d.ts +1 -1
- package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js +7 -5
- package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/BatchList.d.ts +17 -0
- package/lib/src/Terminals/UPA/Reponses/BatchList.js +84 -0
- package/lib/src/Terminals/UPA/Reponses/BatchList.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.d.ts +56 -0
- package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js +215 -0
- package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.d.ts +27 -0
- package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js +113 -0
- package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/SafReportResponse.d.ts +39 -0
- package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js +187 -0
- package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +48 -25
- package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +151 -15
- package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.d.ts +21 -0
- package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js +106 -0
- package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.d.ts +41 -0
- package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js +93 -0
- package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.d.ts +35 -0
- package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js +195 -0
- package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.d.ts +18 -0
- package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js +94 -0
- package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js.map +1 -0
- package/lib/src/Terminals/UPA/Reponses/index.d.ts +8 -0
- package/lib/src/Terminals/UPA/Reponses/index.js +8 -0
- package/lib/src/Terminals/UPA/Reponses/index.js.map +1 -1
- package/lib/src/Terminals/UPA/UpaController.d.ts +17 -5
- package/lib/src/Terminals/UPA/UpaController.js +338 -79
- package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
- package/lib/src/Terminals/UPA/UpaInterface.d.ts +26 -3
- package/lib/src/Terminals/UPA/UpaInterface.js +311 -12
- package/lib/src/Terminals/UPA/UpaInterface.js.map +1 -1
- package/lib/src/Terminals/index.d.ts +2 -0
- package/lib/src/Terminals/index.js +2 -0
- package/lib/src/Terminals/index.js.map +1 -1
- package/lib/src/Utils/StringUtils.js +1 -1
- package/lib/src/Utils/StringUtils.js.map +1 -1
- package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js +19 -8
- package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js.map +1 -1
- package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js +15 -15
- package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js +5 -5
- package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.d.ts +1 -0
- package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js +175 -0
- package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js.map +1 -0
- package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.d.ts +1 -0
- package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js +205 -0
- package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js.map +1 -0
- package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js +4 -4
- package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js +8 -8
- package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js +243 -0
- package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js.map +1 -0
- package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.d.ts +15 -1
- package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js +88 -3
- package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js.map +1 -1
- package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.d.ts +1 -0
- package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js +147 -0
- package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.d.ts +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +1260 -0
- package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaCredit.test.d.ts +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +411 -0
- package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaHelpertest.d.ts +55 -0
- package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js +490 -0
- package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaReport.test.d.ts +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaReport.test.js +801 -0
- package/lib/test/Unit/Terminals/UPA/UpaReport.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.d.ts +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js +250 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.d.ts +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js +1277 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.d.ts +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js +411 -0
- package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js.map +1 -0
- package/package.json +63 -63
package/README.md
CHANGED
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
<a href="https://github.com/globalpayments" target="_blank">
|
|
2
|
-
<img src="https://globalpayments.github.io/images/globapaymentsLogo.png" alt="Global Payments logo" title="Global Payments" align="right" width="225" />
|
|
3
|
-
</a>
|
|
4
|
-
|
|
5
|
-
# Global Payments Node.js SDK
|
|
6
|
-
|
|
7
|
-
This SDK makes it easy to integrate your Node.js application with our Card Not Present and Card Present APIs.
|
|
8
|
-
|
|
9
|
-
## Solutions
|
|
10
|
-
|
|
11
|
-
### General / Omnichannel
|
|
12
|
-
|
|
13
|
-
* API Payment Processing
|
|
14
|
-
* Apple Pay & Google Pay
|
|
15
|
-
* Secure Card Storage & Customer Management
|
|
16
|
-
* Subscriptions / Recurring Billing Solutions
|
|
17
|
-
* Credit, Debit, Gift & Loyalty, and eCheck/ACH
|
|
18
|
-
|
|
19
|
-
### Card Not Present (Ecommerce & MOTO) Specific
|
|
20
|
-
|
|
21
|
-
* Minimize PCI compliance requirements with Hosted Payment Solutions
|
|
22
|
-
* 140+ Authorization Currencies & 16 Settlement Currencies
|
|
23
|
-
* 150+ Local Payment Methods Worldwide
|
|
24
|
-
* Account Updater
|
|
25
|
-
* Inbuilt Fraud Prevention Rules
|
|
26
|
-
* 3D Secure, AVS and CVV Checks
|
|
27
|
-
* 260+ Global Enterprise Fraud Rules
|
|
28
|
-
|
|
29
|
-
### Card Present (Terminal & POS) Specific
|
|
30
|
-
|
|
31
|
-
* Secure End-To-End Encryption
|
|
32
|
-
|
|
33
|
-
## Requirements
|
|
34
|
-
|
|
35
|
-
* Node.js
|
|
36
|
-
|
|
37
|
-
## Installation
|
|
38
|
-
|
|
39
|
-
Installing the SDK into your solution is usually be done by either using NPM or Yarn.
|
|
40
|
-
|
|
41
|
-
To install via [NPM](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
npm install --save globalpayments-api
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
To install via [Yarn](https://yarnpkg.com/lang/en/docs/installing-dependencies/):
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
yarn add globalpayments-api
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Documentation and Examples
|
|
54
|
-
|
|
55
|
-
You can find the latest SDK documentation along with code examples and test cards on
|
|
56
|
-
the [Global Payments](https://developer.globalpay.com) Developer Hub.
|
|
57
|
-
|
|
58
|
-
In addition you can find working examples in the our example code repository.
|
|
59
|
-
|
|
60
|
-
_Quick Tip_: The included [test suite](https://github.com/globalpayments/node-sdk/tree/master/test) can be a great
|
|
61
|
-
source of code samples for using the SDK!
|
|
62
|
-
|
|
63
|
-
#### Process a Payment Example
|
|
64
|
-
|
|
65
|
-
```javascript
|
|
66
|
-
const card = new CreditCardData();
|
|
67
|
-
card.number = "4111111111111111";
|
|
68
|
-
card.expMonth = "12";
|
|
69
|
-
card.expYear = "2025";
|
|
70
|
-
card.cvn = "123";
|
|
71
|
-
|
|
72
|
-
card
|
|
73
|
-
.charge(129.99)
|
|
74
|
-
.withCurrency("EUR")
|
|
75
|
-
.execute()
|
|
76
|
-
.then((response) => {
|
|
77
|
-
const result = response.responseCode;
|
|
78
|
-
const message = response.responseMessage;
|
|
79
|
-
})
|
|
80
|
-
.catch((e) => {
|
|
81
|
-
// handle errors
|
|
82
|
-
});
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
#### Test Card Data
|
|
86
|
-
|
|
87
|
-
| Name | Number | Exp Month | Exp Year | CVN |
|
|
88
|
-
|-------------|------------------|-----------|----------|------|
|
|
89
|
-
| Visa | 4263970000005262 | 12 | 2025 | 123 |
|
|
90
|
-
| MasterCard | 2223000010005780 | 12 | 2019 | 900 |
|
|
91
|
-
| MasterCard | 5425230000004415 | 12 | 2025 | 123 |
|
|
92
|
-
| Discover | 6011000000000087 | 12 | 2025 | 123 |
|
|
93
|
-
| Amex | 374101000000608 | 12 | 2025 | 1234 |
|
|
94
|
-
| JCB | 3566000000000000 | 12 | 2025 | 123 |
|
|
95
|
-
| Diners Club | 36256000000725 | 12 | 2025 | 123 |
|
|
96
|
-
|
|
97
|
-
#### Testing Exceptions
|
|
98
|
-
|
|
99
|
-
During your integration you will want to test for specific issuer responses such as 'Card Declined'. Because our sandbox
|
|
100
|
-
environments do not actually reach out to issuing banks for authorizations, there are specific transaction amounts
|
|
101
|
-
and/or card numbers that will trigger gateway and issuing bank responses. Please contact your support representative for
|
|
102
|
-
a complete listing of values used to simulate transaction AVS/CVV results, declines, errors, and other responses that
|
|
103
|
-
can be caught in your code. Example error handling code:
|
|
104
|
-
|
|
105
|
-
```javascript
|
|
106
|
-
card
|
|
107
|
-
.charge(-5)
|
|
108
|
-
.withCurrency("USD")
|
|
109
|
-
.withAddress(address)
|
|
110
|
-
.execute()
|
|
111
|
-
.catch((e) => {
|
|
112
|
-
switch (e.name) {
|
|
113
|
-
case BuilderError.constructor.name:
|
|
114
|
-
// handle builder errors
|
|
115
|
-
break;
|
|
116
|
-
case ConfigurationError.constructor.name:
|
|
117
|
-
// handle errors related to your services configuration
|
|
118
|
-
break;
|
|
119
|
-
case GatewayError.constructor.name:
|
|
120
|
-
// handle gateway errors/exceptions
|
|
121
|
-
break;
|
|
122
|
-
case UnsupportedTransactionError.constructor.name:
|
|
123
|
-
// handle errors when the configured gateway doesn't support
|
|
124
|
-
// desired transaction
|
|
125
|
-
break;
|
|
126
|
-
case ApiError.constructor.name:
|
|
127
|
-
default:
|
|
128
|
-
// handle all other errors
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Contributing
|
|
135
|
-
|
|
136
|
-
All our code is open sourced and we encourage fellow developers to contribute and help improve it!
|
|
137
|
-
|
|
138
|
-
1. Fork it
|
|
139
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
140
|
-
3. Ensure SDK tests are passing
|
|
141
|
-
4. Commit your changes (`git commit -am 'Add some feature'`)
|
|
142
|
-
5. Push to the branch (`git push origin my-new-feature`)
|
|
143
|
-
6. Create new Pull Request
|
|
144
|
-
|
|
145
|
-
## License
|
|
146
|
-
|
|
147
|
-
This project is licensed under the GNU General Public License v2.0. Please see [LICENSE.md](LICENSE.md) located at the
|
|
148
|
-
project's root for more details.
|
|
1
|
+
<a href="https://github.com/globalpayments" target="_blank">
|
|
2
|
+
<img src="https://globalpayments.github.io/images/globapaymentsLogo.png" alt="Global Payments logo" title="Global Payments" align="right" width="225" />
|
|
3
|
+
</a>
|
|
4
|
+
|
|
5
|
+
# Global Payments Node.js SDK
|
|
6
|
+
|
|
7
|
+
This SDK makes it easy to integrate your Node.js application with our Card Not Present and Card Present APIs.
|
|
8
|
+
|
|
9
|
+
## Solutions
|
|
10
|
+
|
|
11
|
+
### General / Omnichannel
|
|
12
|
+
|
|
13
|
+
* API Payment Processing
|
|
14
|
+
* Apple Pay & Google Pay
|
|
15
|
+
* Secure Card Storage & Customer Management
|
|
16
|
+
* Subscriptions / Recurring Billing Solutions
|
|
17
|
+
* Credit, Debit, Gift & Loyalty, and eCheck/ACH
|
|
18
|
+
|
|
19
|
+
### Card Not Present (Ecommerce & MOTO) Specific
|
|
20
|
+
|
|
21
|
+
* Minimize PCI compliance requirements with Hosted Payment Solutions
|
|
22
|
+
* 140+ Authorization Currencies & 16 Settlement Currencies
|
|
23
|
+
* 150+ Local Payment Methods Worldwide
|
|
24
|
+
* Account Updater
|
|
25
|
+
* Inbuilt Fraud Prevention Rules
|
|
26
|
+
* 3D Secure, AVS and CVV Checks
|
|
27
|
+
* 260+ Global Enterprise Fraud Rules
|
|
28
|
+
|
|
29
|
+
### Card Present (Terminal & POS) Specific
|
|
30
|
+
|
|
31
|
+
* Secure End-To-End Encryption
|
|
32
|
+
|
|
33
|
+
## Requirements
|
|
34
|
+
|
|
35
|
+
* Node.js
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
Installing the SDK into your solution is usually be done by either using NPM or Yarn.
|
|
40
|
+
|
|
41
|
+
To install via [NPM](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
npm install --save globalpayments-api
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
To install via [Yarn](https://yarnpkg.com/lang/en/docs/installing-dependencies/):
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
yarn add globalpayments-api
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Documentation and Examples
|
|
54
|
+
|
|
55
|
+
You can find the latest SDK documentation along with code examples and test cards on
|
|
56
|
+
the [Global Payments](https://developer.globalpay.com) Developer Hub.
|
|
57
|
+
|
|
58
|
+
In addition you can find working examples in the our example code repository.
|
|
59
|
+
|
|
60
|
+
_Quick Tip_: The included [test suite](https://github.com/globalpayments/node-sdk/tree/master/test) can be a great
|
|
61
|
+
source of code samples for using the SDK!
|
|
62
|
+
|
|
63
|
+
#### Process a Payment Example
|
|
64
|
+
|
|
65
|
+
```javascript
|
|
66
|
+
const card = new CreditCardData();
|
|
67
|
+
card.number = "4111111111111111";
|
|
68
|
+
card.expMonth = "12";
|
|
69
|
+
card.expYear = "2025";
|
|
70
|
+
card.cvn = "123";
|
|
71
|
+
|
|
72
|
+
card
|
|
73
|
+
.charge(129.99)
|
|
74
|
+
.withCurrency("EUR")
|
|
75
|
+
.execute()
|
|
76
|
+
.then((response) => {
|
|
77
|
+
const result = response.responseCode;
|
|
78
|
+
const message = response.responseMessage;
|
|
79
|
+
})
|
|
80
|
+
.catch((e) => {
|
|
81
|
+
// handle errors
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### Test Card Data
|
|
86
|
+
|
|
87
|
+
| Name | Number | Exp Month | Exp Year | CVN |
|
|
88
|
+
|-------------|------------------|-----------|----------|------|
|
|
89
|
+
| Visa | 4263970000005262 | 12 | 2025 | 123 |
|
|
90
|
+
| MasterCard | 2223000010005780 | 12 | 2019 | 900 |
|
|
91
|
+
| MasterCard | 5425230000004415 | 12 | 2025 | 123 |
|
|
92
|
+
| Discover | 6011000000000087 | 12 | 2025 | 123 |
|
|
93
|
+
| Amex | 374101000000608 | 12 | 2025 | 1234 |
|
|
94
|
+
| JCB | 3566000000000000 | 12 | 2025 | 123 |
|
|
95
|
+
| Diners Club | 36256000000725 | 12 | 2025 | 123 |
|
|
96
|
+
|
|
97
|
+
#### Testing Exceptions
|
|
98
|
+
|
|
99
|
+
During your integration you will want to test for specific issuer responses such as 'Card Declined'. Because our sandbox
|
|
100
|
+
environments do not actually reach out to issuing banks for authorizations, there are specific transaction amounts
|
|
101
|
+
and/or card numbers that will trigger gateway and issuing bank responses. Please contact your support representative for
|
|
102
|
+
a complete listing of values used to simulate transaction AVS/CVV results, declines, errors, and other responses that
|
|
103
|
+
can be caught in your code. Example error handling code:
|
|
104
|
+
|
|
105
|
+
```javascript
|
|
106
|
+
card
|
|
107
|
+
.charge(-5)
|
|
108
|
+
.withCurrency("USD")
|
|
109
|
+
.withAddress(address)
|
|
110
|
+
.execute()
|
|
111
|
+
.catch((e) => {
|
|
112
|
+
switch (e.name) {
|
|
113
|
+
case BuilderError.constructor.name:
|
|
114
|
+
// handle builder errors
|
|
115
|
+
break;
|
|
116
|
+
case ConfigurationError.constructor.name:
|
|
117
|
+
// handle errors related to your services configuration
|
|
118
|
+
break;
|
|
119
|
+
case GatewayError.constructor.name:
|
|
120
|
+
// handle gateway errors/exceptions
|
|
121
|
+
break;
|
|
122
|
+
case UnsupportedTransactionError.constructor.name:
|
|
123
|
+
// handle errors when the configured gateway doesn't support
|
|
124
|
+
// desired transaction
|
|
125
|
+
break;
|
|
126
|
+
case ApiError.constructor.name:
|
|
127
|
+
default:
|
|
128
|
+
// handle all other errors
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Contributing
|
|
135
|
+
|
|
136
|
+
All our code is open sourced and we encourage fellow developers to contribute and help improve it!
|
|
137
|
+
|
|
138
|
+
1. Fork it
|
|
139
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
140
|
+
3. Ensure SDK tests are passing
|
|
141
|
+
4. Commit your changes (`git commit -am 'Add some feature'`)
|
|
142
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
|
143
|
+
6. Create new Pull Request
|
|
144
|
+
|
|
145
|
+
## License
|
|
146
|
+
|
|
147
|
+
This project is licensed under the GNU General Public License v2.0. Please see [LICENSE.md](LICENSE.md) located at the
|
|
148
|
+
project's root for more details.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
application_id = GP13428
|
|
2
|
+
dev_team_lead = russell.everett@e-hps.com
|
|
3
|
+
security_champion = philip.white@e-hps.com
|
|
4
|
+
observers = developers@globalpay.com
|
|
5
|
+
prod_branch = master
|
|
6
|
+
dev_branch = NextRelease
|
|
7
|
+
prod_urls = https://github.com/globalpayments/node-sdk
|
|
8
|
+
dev_urls = https://github.com/globalpayments-internal/devtools-node-sdk
|
|
@@ -4,9 +4,10 @@ import { ValidationTarget } from "./ValidationTarget";
|
|
|
4
4
|
export declare class ValidationClause {
|
|
5
5
|
parent: Validations;
|
|
6
6
|
target: ValidationTarget;
|
|
7
|
-
callback
|
|
8
|
-
message
|
|
7
|
+
callback?: <T>(build: BaseBuilder<T>) => boolean;
|
|
8
|
+
message?: string;
|
|
9
9
|
precondition: boolean;
|
|
10
|
+
property: string;
|
|
10
11
|
constructor(parent: Validations, target: ValidationTarget, precondition?: boolean);
|
|
11
12
|
isNotNull(message?: string): ValidationTarget;
|
|
12
13
|
isNull(message?: string): ValidationTarget;
|
|
@@ -8,16 +8,19 @@ class ValidationClause {
|
|
|
8
8
|
callback;
|
|
9
9
|
message;
|
|
10
10
|
precondition;
|
|
11
|
+
property;
|
|
11
12
|
constructor(parent, target, precondition = false) {
|
|
12
13
|
this.parent = parent;
|
|
13
14
|
this.target = target;
|
|
14
15
|
this.precondition = precondition;
|
|
16
|
+
this.property = target.property;
|
|
15
17
|
}
|
|
16
18
|
isNotNull(message) {
|
|
19
|
+
const property = this.property;
|
|
17
20
|
this.callback = (builder) => {
|
|
18
|
-
let value = builder[
|
|
19
|
-
if (
|
|
20
|
-
const keys =
|
|
21
|
+
let value = builder[property];
|
|
22
|
+
if (property.includes(".")) {
|
|
23
|
+
const keys = property.split(".");
|
|
21
24
|
for (const key of keys) {
|
|
22
25
|
value = value ? value[key] : builder[key];
|
|
23
26
|
}
|
|
@@ -26,7 +29,7 @@ class ValidationClause {
|
|
|
26
29
|
};
|
|
27
30
|
this.message = message
|
|
28
31
|
? message
|
|
29
|
-
: `${
|
|
32
|
+
: `${property} cannot be null for this transaction type.`;
|
|
30
33
|
if (this.precondition) {
|
|
31
34
|
return this.target;
|
|
32
35
|
}
|
|
@@ -35,13 +38,14 @@ class ValidationClause {
|
|
|
35
38
|
.with(this.target.constraintProperty, this.target.constraint);
|
|
36
39
|
}
|
|
37
40
|
isNull(message) {
|
|
41
|
+
const property = this.property;
|
|
38
42
|
this.callback = (builder) => {
|
|
39
|
-
const value = builder[
|
|
43
|
+
const value = builder[property];
|
|
40
44
|
return undefined === value || null === value;
|
|
41
45
|
};
|
|
42
46
|
this.message = message
|
|
43
47
|
? message
|
|
44
|
-
: `${
|
|
48
|
+
: `${property} cannot be set for this transaction type.`;
|
|
45
49
|
if (this.precondition) {
|
|
46
50
|
return this.target;
|
|
47
51
|
}
|
|
@@ -50,13 +54,14 @@ class ValidationClause {
|
|
|
50
54
|
.with(this.target.constraintProperty, this.target.constraint);
|
|
51
55
|
}
|
|
52
56
|
isNotEmpty(message) {
|
|
57
|
+
const property = this.property;
|
|
53
58
|
this.callback = (builder) => {
|
|
54
|
-
const value = builder[
|
|
59
|
+
const value = builder[property];
|
|
55
60
|
return !!value;
|
|
56
61
|
};
|
|
57
62
|
this.message = message
|
|
58
63
|
? message
|
|
59
|
-
: `${
|
|
64
|
+
: `${property} cannot be empty for this transaction type.`;
|
|
60
65
|
if (this.precondition) {
|
|
61
66
|
return this.target;
|
|
62
67
|
}
|
|
@@ -65,13 +70,14 @@ class ValidationClause {
|
|
|
65
70
|
.with(this.target.constraintProperty, this.target.constraint);
|
|
66
71
|
}
|
|
67
72
|
isNotEqualTo(expected, message) {
|
|
73
|
+
const property = this.property;
|
|
68
74
|
this.callback = (builder) => {
|
|
69
|
-
const value = builder[
|
|
75
|
+
const value = builder[property];
|
|
70
76
|
return expected !== value;
|
|
71
77
|
};
|
|
72
78
|
this.message = message
|
|
73
79
|
? message
|
|
74
|
-
: `${
|
|
80
|
+
: `${property} cannot be ${expected} for this transaction type.`;
|
|
75
81
|
if (this.precondition) {
|
|
76
82
|
return this.target;
|
|
77
83
|
}
|
|
@@ -80,13 +86,14 @@ class ValidationClause {
|
|
|
80
86
|
.with(this.target.constraintProperty, this.target.constraint);
|
|
81
87
|
}
|
|
82
88
|
isEqualTo(expected, message) {
|
|
89
|
+
const property = this.property;
|
|
83
90
|
this.callback = (builder) => {
|
|
84
|
-
const value = builder[
|
|
91
|
+
const value = builder[property];
|
|
85
92
|
return expected === value;
|
|
86
93
|
};
|
|
87
94
|
this.message = message
|
|
88
95
|
? message
|
|
89
|
-
: `${
|
|
96
|
+
: `${property} cannot be different than ${expected} for this transaction type.`;
|
|
90
97
|
if (this.precondition) {
|
|
91
98
|
return this.target;
|
|
92
99
|
}
|
|
@@ -95,17 +102,18 @@ class ValidationClause {
|
|
|
95
102
|
.with(this.target.constraintProperty, this.target.constraint);
|
|
96
103
|
}
|
|
97
104
|
isInstanceOf(clazz, message = null) {
|
|
105
|
+
const property = this.property;
|
|
98
106
|
this.callback = (builder) => {
|
|
99
107
|
// this will result in checking isInterfaceRequired (e.g paymentMethod.isSecure3d)
|
|
100
|
-
if (!builder[
|
|
101
|
-
throw new Entities_1.BuilderError(`${
|
|
108
|
+
if (!builder[property]["is" + clazz]) {
|
|
109
|
+
throw new Entities_1.BuilderError(`${property} must be an instance of the ${clazz.name} class.`);
|
|
102
110
|
}
|
|
103
111
|
return true;
|
|
104
112
|
};
|
|
105
113
|
this.message =
|
|
106
114
|
message !== null
|
|
107
115
|
? message
|
|
108
|
-
: `${
|
|
116
|
+
: `${property} must be an instance of the ${clazz.name} class.`;
|
|
109
117
|
if (this.precondition) {
|
|
110
118
|
return this.target;
|
|
111
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationClause.js","sourceRoot":"","sources":["../../../../src/Builders/BaseBuilder/ValidationClause.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAK9C,MAAa,gBAAgB;IACpB,MAAM,CAAc;IACpB,MAAM,CAAmB;IACzB,QAAQ,
|
|
1
|
+
{"version":3,"file":"ValidationClause.js","sourceRoot":"","sources":["../../../../src/Builders/BaseBuilder/ValidationClause.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ class Validations {
|
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
for (const validation of this.rules[enumName][ruleType]) {
|
|
38
|
-
if (!validation.clause) {
|
|
38
|
+
if (!validation.clause || !validation.clause.callback) {
|
|
39
39
|
continue;
|
|
40
40
|
}
|
|
41
41
|
if (validation.constraint !== undefined &&
|
|
@@ -43,8 +43,13 @@ class Validations {
|
|
|
43
43
|
validation.constraint !== builder[validation.constraintProperty]) {
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
46
|
+
if (validation.precondition &&
|
|
47
|
+
validation.precondition.callback &&
|
|
48
|
+
!validation.precondition.callback(builder)) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
46
51
|
if (!validation.clause.callback(builder)) {
|
|
47
|
-
throw new __1.BuilderError(validation.clause.message);
|
|
52
|
+
throw new __1.BuilderError(validation.clause.message ?? "");
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validations.js","sourceRoot":"","sources":["../../../../src/Builders/BaseBuilder/Validations.ts"],"names":[],"mappings":";;;AAAA,8BAAuE;AACvE,yDAAsD;AAQtD,MAAa,WAAW;IACf,KAAK,CAAW;IAEvB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAEM,EAAE,CAAC,YAAoB,EAAE,IAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;SAChD;QAED,MAAM,MAAM,GAAG,IAAI,mCAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAI,OAAuB;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrD,IAAI,KAAK,GAAW,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEtC,IACE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;oBACvC,OAAO,YAAY,sBAAkB;oBACrC,OAAO,CAAC,aAAa,EACrB;oBACA,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;wBACzC,OAAO;qBACR;iBACF;gBAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE;oBACpE,OAAO;iBACR;gBAED,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"Validations.js","sourceRoot":"","sources":["../../../../src/Builders/BaseBuilder/Validations.ts"],"names":[],"mappings":";;;AAAA,8BAAuE;AACvE,yDAAsD;AAQtD,MAAa,WAAW;IACf,KAAK,CAAW;IAEvB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAEM,EAAE,CAAC,YAAoB,EAAE,IAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;SAChD;QAED,MAAM,MAAM,GAAG,IAAI,mCAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAI,OAAuB;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrD,IAAI,KAAK,GAAW,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEtC,IACE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;oBACvC,OAAO,YAAY,sBAAkB;oBACrC,OAAO,CAAC,aAAa,EACrB;oBACA,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;wBACzC,OAAO;qBACR;iBACF;gBAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE;oBACpE,OAAO;iBACR;gBAED,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACrD,SAAS;qBACV;oBAED,IACE,UAAU,CAAC,UAAU,KAAK,SAAS;wBACnC,UAAU,CAAC,UAAU,KAAK,IAAI;wBAC9B,UAAU,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAChE;wBACA,SAAS;qBACV;oBAED,IACE,UAAU,CAAC,YAAY;wBACvB,UAAU,CAAC,YAAY,CAAC,QAAQ;wBAChC,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1C;wBACA,SAAS;qBACV;oBAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACxC,MAAM,IAAI,gBAAY,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;qBACzD;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AArED,kCAqEC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import { GpApiRequest, IntervalToExpire } from "../../../../src/Entities";
|
|
1
|
+
import { GpApiRequest, IntervalToExpire, PorticoTokenConfig } from "../../../../src/Entities";
|
|
2
|
+
/**
|
|
3
|
+
* Builds the GP API access-token (sign-in) request.
|
|
4
|
+
*
|
|
5
|
+
* com.global.api.entities.gpApi.GpApiSessionInfo: a single signIn()
|
|
6
|
+
* method that takes an optional PorticoTokenConfig and branches on it,
|
|
7
|
+
* plus a buildCredentials() helper for the Portico-credentials flow.
|
|
8
|
+
*/
|
|
2
9
|
export declare class GpApiSessionInfo {
|
|
3
10
|
private static generateSecret;
|
|
4
11
|
private static generateNonce;
|
|
5
|
-
static signIn(appId: string, appKey: string, secondsToExpire: number | undefined, intervalToExpire: IntervalToExpire | null | undefined, permissions: string[]): Promise<GpApiRequest>;
|
|
12
|
+
static signIn(appId: string, appKey: string, secondsToExpire: number | undefined, intervalToExpire: IntervalToExpire | null | undefined, permissions: string[], porticoTokenConfig?: PorticoTokenConfig | null): Promise<GpApiRequest>;
|
|
13
|
+
static signOut(): GpApiRequest | null;
|
|
14
|
+
private static buildCredentials;
|
|
6
15
|
}
|
|
@@ -27,6 +27,13 @@ exports.GpApiSessionInfo = void 0;
|
|
|
27
27
|
const crypto = __importStar(require("crypto"));
|
|
28
28
|
const Entities_1 = require("../../../../src/Entities");
|
|
29
29
|
const AccessTokenRequest_1 = require("./AccessTokenRequest");
|
|
30
|
+
/**
|
|
31
|
+
* Builds the GP API access-token (sign-in) request.
|
|
32
|
+
*
|
|
33
|
+
* com.global.api.entities.gpApi.GpApiSessionInfo: a single signIn()
|
|
34
|
+
* method that takes an optional PorticoTokenConfig and branches on it,
|
|
35
|
+
* plus a buildCredentials() helper for the Portico-credentials flow.
|
|
36
|
+
*/
|
|
30
37
|
class GpApiSessionInfo {
|
|
31
38
|
static generateSecret(nonce, appKey) {
|
|
32
39
|
return crypto
|
|
@@ -36,14 +43,46 @@ class GpApiSessionInfo {
|
|
|
36
43
|
.toLowerCase();
|
|
37
44
|
}
|
|
38
45
|
static generateNonce() {
|
|
39
|
-
|
|
40
|
-
return base.toISOString();
|
|
46
|
+
return new Date().toISOString();
|
|
41
47
|
}
|
|
42
|
-
static async signIn(appId, appKey, secondsToExpire = 0, intervalToExpire = null, permissions) {
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
static async signIn(appId, appKey, secondsToExpire = 0, intervalToExpire = null, permissions, porticoTokenConfig = null) {
|
|
49
|
+
let requestBody;
|
|
50
|
+
if (porticoTokenConfig) {
|
|
51
|
+
const credentials = GpApiSessionInfo.buildCredentials(porticoTokenConfig);
|
|
52
|
+
const portico = {
|
|
53
|
+
credentials,
|
|
54
|
+
grant_type: "client_credentials",
|
|
55
|
+
};
|
|
56
|
+
if (appId) {
|
|
57
|
+
portico.app_id = appId;
|
|
58
|
+
}
|
|
59
|
+
requestBody = portico;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const nonce = GpApiSessionInfo.generateNonce();
|
|
63
|
+
requestBody = new AccessTokenRequest_1.AccessTokenRequest(appId, nonce, GpApiSessionInfo.generateSecret(nonce, appKey), "client_credentials", secondsToExpire, intervalToExpire, permissions);
|
|
64
|
+
}
|
|
45
65
|
return new Entities_1.GpApiRequest(Entities_1.GpApiRequest.ACCESS_TOKEN_ENDPOINT, "POST", JSON.stringify(requestBody));
|
|
46
66
|
}
|
|
67
|
+
static signOut() {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
static buildCredentials(config) {
|
|
71
|
+
const credentials = [];
|
|
72
|
+
const hasDevice = !!config.deviceId;
|
|
73
|
+
const hasSite = !!config.siteId;
|
|
74
|
+
const hasLicense = !!config.licenseId;
|
|
75
|
+
const hasUsername = !!config.username;
|
|
76
|
+
const hasPassword = !!config.password;
|
|
77
|
+
const hasApiKey = !!config.secretApiKey;
|
|
78
|
+
if (hasDevice && hasSite && hasLicense && hasUsername && hasPassword) {
|
|
79
|
+
credentials.push({ name: "device_id", value: String(config.deviceId) }, { name: "site_id", value: String(config.siteId) }, { name: "license_id", value: String(config.licenseId) }, { name: "username", value: config.username }, { name: "password", value: config.password });
|
|
80
|
+
}
|
|
81
|
+
else if (hasApiKey) {
|
|
82
|
+
credentials.push({ name: "apikey", value: config.secretApiKey });
|
|
83
|
+
}
|
|
84
|
+
return credentials;
|
|
85
|
+
}
|
|
47
86
|
}
|
|
48
87
|
exports.GpApiSessionInfo = GpApiSessionInfo;
|
|
49
88
|
//# sourceMappingURL=GpApiSessionInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpApiSessionInfo.js","sourceRoot":"","sources":["../../../../../src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"GpApiSessionInfo.js","sourceRoot":"","sources":["../../../../../src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ class GpEcomManagementRequestBuilder extends GpEcomRequestBuilder_1.GpEcomReques
|
|
|
30
30
|
(0, elementtree_1.SubElement)(request, "account").append((0, elementtree_1.CData)(config.accountId));
|
|
31
31
|
}
|
|
32
32
|
if (builder.alternativePaymentType === null) {
|
|
33
|
-
(0, elementtree_1.SubElement)(request, "channel").append((0, elementtree_1.CData)(config.channel
|
|
33
|
+
(0, elementtree_1.SubElement)(request, "channel").append((0, elementtree_1.CData)(config.channel || ""));
|
|
34
34
|
}
|
|
35
35
|
if (builder.amount) {
|
|
36
36
|
const amountAttrs = builder.currency
|
|
@@ -46,7 +46,7 @@ class GpEcomManagementRequestBuilder extends GpEcomRequestBuilder_1.GpEcomReques
|
|
|
46
46
|
(0, elementtree_1.SubElement)(request, "pasref").append((0, elementtree_1.CData)(ref.transactionId));
|
|
47
47
|
if (builder.transactionType === src_1.TransactionType.Refund) {
|
|
48
48
|
if (builder.authorizationCode) {
|
|
49
|
-
(0, elementtree_1.SubElement)(request, "authcode").append((0, elementtree_1.CData)(builder.authorizationCode
|
|
49
|
+
(0, elementtree_1.SubElement)(request, "authcode").append((0, elementtree_1.CData)(builder.authorizationCode || ""));
|
|
50
50
|
}
|
|
51
51
|
(0, elementtree_1.SubElement)(request, "refundhash").append((0, elementtree_1.CData)(src_1.GenerationUtils.generateHash(config.rebatePassword) || ""));
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpEcomManagementRequestBuilder.js","sourceRoot":"","sources":["../../../../../src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.ts"],"names":[],"mappings":";;;AAAA,kDAI0B;AAE1B,yCAcyB;AACzB,iEAA8D;AAE9D,MAAa,8BACX,SAAQ,2CAAoB;IAG5B;;;OAGG;IACI,UAAU,CAAC,OAAiC;QACjD,IAAI,OAAO,YAAY,uBAAiB,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY,CACjB,OAA0B,EAC1B,MAAoB;QAEpB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,qBAAe,CAAC,iBAAiB,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,qBAAe,CAAC,iBAAiB,EAAE,CAAC;QACvE,MAAM,eAAe,GAAG,mBAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEpE,MAAM,OAAO,GAAG,IAAA,qBAAO,EAAC,SAAS,EAAE;YACjC,SAAS;YACT,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,IAAA,wBAAU,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,IAAA,mBAAK,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;SACpE;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE;YAC7B,IAAA,wBAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,IAAA,mBAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;SAChE;QAED,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,EAAE;YAC3C,IAAA,wBAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,IAAA,mBAAK,EAAC,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"GpEcomManagementRequestBuilder.js","sourceRoot":"","sources":["../../../../../src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.ts"],"names":[],"mappings":"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"}
|