globalpayments-api 3.10.1 → 3.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +184 -177
- package/LICENSE.md +257 -257
- package/README.md +141 -141
- package/appsec.properties +8 -0
- package/lib/src/Gateways/PorticoConnector.js +24 -0
- package/lib/src/Gateways/PorticoConnector.js.map +1 -1
- package/lib/src/Gateways/RealexConnector.d.ts +30 -0
- package/lib/src/Gateways/RealexConnector.js +523 -0
- package/lib/src/PaymentMethods/Credit.d.ts +2 -1
- package/lib/src/PaymentMethods/Credit.js +1 -0
- package/lib/src/PaymentMethods/Credit.js.map +1 -1
- package/lib/src/ServicesConfig.d.ts +27 -0
- package/lib/src/ServicesConfig.js +50 -0
- 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/GpEcomConnector/Credit.test.js +4 -4
- package/lib/test/Integration/Gateways/PorticoConnector/AchTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js +112 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js +483 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js +83 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js +1720 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js +83 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js +1757 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js +682 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js +2218 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.js +32 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Credit.test.js.map +1 -1
- package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js +707 -0
- package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js +151 -0
- package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js +171 -0
- package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js +8 -8
- package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js +192 -0
- package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js +377 -0
- package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js +196 -0
- package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js +53 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/GetInformationCertificationTests.js +100 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayAccountCertificationTests.js +352 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayFundCertificationTests.js +123 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/Certifications/ProPayInNetworkTransactionCertificationTests.js +142 -0
- package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/GetInformationTests.js +100 -0
- package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/ProPayAccountTests.js +535 -0
- package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/ProPayFundsTests.js +124 -0
- package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTests.d.ts +1 -0
- package/lib/test/Integration/Gateways/ProPayConnector/ProPayInNetworkTransactionTests.js +144 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AuthTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AuthTest.js +4373 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AvsTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AvsTest.js +758 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/CreditTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/CreditTest.js +2399 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/HoldTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/HoldTest.js +1656 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.js +5650 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.js +1985 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.js +2369 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.js +1703 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.js +2053 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.js +2469 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.js +3116 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.js +2031 -0
- package/lib/test/Integration/Gateways/RealexConnector/CreditTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/CreditTest.js +322 -0
- package/lib/test/Integration/Gateways/RealexConnector/HppTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/HppTest.js +98 -0
- package/lib/test/Integration/Gateways/RealexConnector/RecurringTest.d.ts +1 -0
- package/lib/test/Integration/Gateways/RealexConnector/RecurringTest.js +263 -0
- package/lib/test/Integration/Services/CheckServiceTest.d.ts +1 -0
- package/lib/test/Integration/Services/CheckServiceTest.js +98 -0
- package/lib/test/Integration/Services/CreditServiceTest.d.ts +1 -0
- package/lib/test/Integration/Services/CreditServiceTest.js +313 -0
- package/lib/test/Integration/Services/DebitServiceTest.d.ts +1 -0
- package/lib/test/Integration/Services/DebitServiceTest.js +154 -0
- package/lib/test/Integration/Services/EBTServiceTest.d.ts +1 -0
- package/lib/test/Integration/Services/EBTServiceTest.js +135 -0
- package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.d.ts +1 -0
- package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js +161 -0
- package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.d.ts +1 -0
- package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js +139 -0
- package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.d.ts +1 -0
- package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js +202 -0
- package/lib/test/Unit/Gateways/RealexConnector/CreditTest.d.ts +1 -0
- package/lib/test/Unit/Gateways/RealexConnector/CreditTest.js +29 -0
- package/package.json +62 -62
package/README.md
CHANGED
|
@@ -1,141 +1,141 @@
|
|
|
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
|
-
# Heartland & 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 the [Global Payments](https://developer.realexpayments.com) and [Heartland](https://developer.heartlandpaymentsystems.com/documentation) Developer Hubs.
|
|
56
|
-
|
|
57
|
-
In addition you can find working examples in the our example code repository.
|
|
58
|
-
|
|
59
|
-
_Quick Tip_: The included [test suite](https://github.com/globalpayments/node-sdk/tree/master/test) can be a great source of code samples for using the SDK!
|
|
60
|
-
|
|
61
|
-
#### Process a Payment Example
|
|
62
|
-
|
|
63
|
-
```javascript
|
|
64
|
-
const card = new CreditCardData();
|
|
65
|
-
card.number = "4111111111111111";
|
|
66
|
-
card.expMonth = "12";
|
|
67
|
-
card.expYear = "2025";
|
|
68
|
-
card.cvn = "123";
|
|
69
|
-
|
|
70
|
-
card
|
|
71
|
-
.charge(129.99)
|
|
72
|
-
.withCurrency("EUR")
|
|
73
|
-
.execute()
|
|
74
|
-
.then((response) => {
|
|
75
|
-
const result = response.responseCode;
|
|
76
|
-
const message = response.responseMessage;
|
|
77
|
-
})
|
|
78
|
-
.catch((e) => {
|
|
79
|
-
// handle errors
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
#### Test Card Data
|
|
84
|
-
|
|
85
|
-
| Name | Number | Exp Month | Exp Year | CVN |
|
|
86
|
-
| ----------- | ---------------- | --------- | -------- | ---- |
|
|
87
|
-
| Visa | 4263970000005262 | 12 | 2025 | 123 |
|
|
88
|
-
| MasterCard | 2223000010005780 | 12 | 2019 | 900 |
|
|
89
|
-
| MasterCard | 5425230000004415 | 12 | 2025 | 123 |
|
|
90
|
-
| Discover | 6011000000000087 | 12 | 2025 | 123 |
|
|
91
|
-
| Amex | 374101000000608 | 12 | 2025 | 1234 |
|
|
92
|
-
| JCB | 3566000000000000 | 12 | 2025 | 123 |
|
|
93
|
-
| Diners Club | 36256000000725 | 12 | 2025 | 123 |
|
|
94
|
-
|
|
95
|
-
#### Testing Exceptions
|
|
96
|
-
|
|
97
|
-
During your integration you will want to test for specific issuer responses such as 'Card Declined'. Because our sandbox environments do not actually reach out to issuing banks for authorizations, there are specific transaction amounts and/or card numbers that will trigger gateway and issuing bank responses. Please contact your support representative for a complete listing of values used to simulate transaction AVS/CVV results, declines, errors, and other responses that can be caught in your code. Example error handling code:
|
|
98
|
-
|
|
99
|
-
```javascript
|
|
100
|
-
card
|
|
101
|
-
.charge(-5)
|
|
102
|
-
.withCurrency("USD")
|
|
103
|
-
.withAddress(address)
|
|
104
|
-
.execute()
|
|
105
|
-
.catch((e) => {
|
|
106
|
-
switch (e.name) {
|
|
107
|
-
case BuilderError.constructor.name:
|
|
108
|
-
// handle builder errors
|
|
109
|
-
break;
|
|
110
|
-
case ConfigurationError.constructor.name:
|
|
111
|
-
// handle errors related to your services configuration
|
|
112
|
-
break;
|
|
113
|
-
case GatewayError.constructor.name:
|
|
114
|
-
// handle gateway errors/exceptions
|
|
115
|
-
break;
|
|
116
|
-
case UnsupportedTransactionError.constructor.name:
|
|
117
|
-
// handle errors when the configured gateway doesn't support
|
|
118
|
-
// desired transaction
|
|
119
|
-
break;
|
|
120
|
-
case ApiError.constructor.name:
|
|
121
|
-
default:
|
|
122
|
-
// handle all other errors
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Contributing
|
|
129
|
-
|
|
130
|
-
All our code is open sourced and we encourage fellow developers to contribute and help improve it!
|
|
131
|
-
|
|
132
|
-
1. Fork it
|
|
133
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
134
|
-
3. Ensure SDK tests are passing
|
|
135
|
-
4. Commit your changes (`git commit -am 'Add some feature'`)
|
|
136
|
-
5. Push to the branch (`git push origin my-new-feature`)
|
|
137
|
-
6. Create new Pull Request
|
|
138
|
-
|
|
139
|
-
## License
|
|
140
|
-
|
|
141
|
-
This project is licensed under the GNU General Public License v2.0. Please see [LICENSE.md](LICENSE.md) located at the 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
|
+
# Heartland & 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 the [Global Payments](https://developer.realexpayments.com) and [Heartland](https://developer.heartlandpaymentsystems.com/documentation) Developer Hubs.
|
|
56
|
+
|
|
57
|
+
In addition you can find working examples in the our example code repository.
|
|
58
|
+
|
|
59
|
+
_Quick Tip_: The included [test suite](https://github.com/globalpayments/node-sdk/tree/master/test) can be a great source of code samples for using the SDK!
|
|
60
|
+
|
|
61
|
+
#### Process a Payment Example
|
|
62
|
+
|
|
63
|
+
```javascript
|
|
64
|
+
const card = new CreditCardData();
|
|
65
|
+
card.number = "4111111111111111";
|
|
66
|
+
card.expMonth = "12";
|
|
67
|
+
card.expYear = "2025";
|
|
68
|
+
card.cvn = "123";
|
|
69
|
+
|
|
70
|
+
card
|
|
71
|
+
.charge(129.99)
|
|
72
|
+
.withCurrency("EUR")
|
|
73
|
+
.execute()
|
|
74
|
+
.then((response) => {
|
|
75
|
+
const result = response.responseCode;
|
|
76
|
+
const message = response.responseMessage;
|
|
77
|
+
})
|
|
78
|
+
.catch((e) => {
|
|
79
|
+
// handle errors
|
|
80
|
+
});
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
#### Test Card Data
|
|
84
|
+
|
|
85
|
+
| Name | Number | Exp Month | Exp Year | CVN |
|
|
86
|
+
| ----------- | ---------------- | --------- | -------- | ---- |
|
|
87
|
+
| Visa | 4263970000005262 | 12 | 2025 | 123 |
|
|
88
|
+
| MasterCard | 2223000010005780 | 12 | 2019 | 900 |
|
|
89
|
+
| MasterCard | 5425230000004415 | 12 | 2025 | 123 |
|
|
90
|
+
| Discover | 6011000000000087 | 12 | 2025 | 123 |
|
|
91
|
+
| Amex | 374101000000608 | 12 | 2025 | 1234 |
|
|
92
|
+
| JCB | 3566000000000000 | 12 | 2025 | 123 |
|
|
93
|
+
| Diners Club | 36256000000725 | 12 | 2025 | 123 |
|
|
94
|
+
|
|
95
|
+
#### Testing Exceptions
|
|
96
|
+
|
|
97
|
+
During your integration you will want to test for specific issuer responses such as 'Card Declined'. Because our sandbox environments do not actually reach out to issuing banks for authorizations, there are specific transaction amounts and/or card numbers that will trigger gateway and issuing bank responses. Please contact your support representative for a complete listing of values used to simulate transaction AVS/CVV results, declines, errors, and other responses that can be caught in your code. Example error handling code:
|
|
98
|
+
|
|
99
|
+
```javascript
|
|
100
|
+
card
|
|
101
|
+
.charge(-5)
|
|
102
|
+
.withCurrency("USD")
|
|
103
|
+
.withAddress(address)
|
|
104
|
+
.execute()
|
|
105
|
+
.catch((e) => {
|
|
106
|
+
switch (e.name) {
|
|
107
|
+
case BuilderError.constructor.name:
|
|
108
|
+
// handle builder errors
|
|
109
|
+
break;
|
|
110
|
+
case ConfigurationError.constructor.name:
|
|
111
|
+
// handle errors related to your services configuration
|
|
112
|
+
break;
|
|
113
|
+
case GatewayError.constructor.name:
|
|
114
|
+
// handle gateway errors/exceptions
|
|
115
|
+
break;
|
|
116
|
+
case UnsupportedTransactionError.constructor.name:
|
|
117
|
+
// handle errors when the configured gateway doesn't support
|
|
118
|
+
// desired transaction
|
|
119
|
+
break;
|
|
120
|
+
case ApiError.constructor.name:
|
|
121
|
+
default:
|
|
122
|
+
// handle all other errors
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Contributing
|
|
129
|
+
|
|
130
|
+
All our code is open sourced and we encourage fellow developers to contribute and help improve it!
|
|
131
|
+
|
|
132
|
+
1. Fork it
|
|
133
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
134
|
+
3. Ensure SDK tests are passing
|
|
135
|
+
4. Commit your changes (`git commit -am 'Add some feature'`)
|
|
136
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
|
137
|
+
6. Create new Pull Request
|
|
138
|
+
|
|
139
|
+
## License
|
|
140
|
+
|
|
141
|
+
This project is licensed under the GNU General Public License v2.0. Please see [LICENSE.md](LICENSE.md) located at the 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 = russell.everett@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.globalpay.com/Developer-Experience/node-sdk
|
|
@@ -131,6 +131,25 @@ class PorticoConnector extends XmlGateway_1.XmlGateway {
|
|
|
131
131
|
block1.append(cardData);
|
|
132
132
|
if (card instanceof __1.CreditCardData) {
|
|
133
133
|
const creditCardData = card;
|
|
134
|
+
const secureEcom = creditCardData.threeDSecure;
|
|
135
|
+
if (secureEcom) {
|
|
136
|
+
// 3d Secure Element
|
|
137
|
+
if (secureEcom.eci &&
|
|
138
|
+
!this.isAppleOrGooglePay(secureEcom.paymentDataSource)) {
|
|
139
|
+
const secure3D = (0, elementtree_1.SubElement)(block1, "Secure3D");
|
|
140
|
+
(0, elementtree_1.SubElement)(secure3D, "Version").text = threeDSecureNumericVersion(secureEcom.version);
|
|
141
|
+
(0, elementtree_1.SubElement)(secure3D, "AuthenticationValue").append((0, elementtree_1.CData)(secureEcom.cavv));
|
|
142
|
+
(0, elementtree_1.SubElement)(secure3D, "ECI").append((0, elementtree_1.CData)(secureEcom.eci.toFixed(0)));
|
|
143
|
+
(0, elementtree_1.SubElement)(secure3D, "DirectoryServerTxnId").append((0, elementtree_1.CData)(secureEcom.xid));
|
|
144
|
+
}
|
|
145
|
+
// WalletData Element
|
|
146
|
+
if (this.isAppleOrGooglePay(secureEcom.paymentDataSource)) {
|
|
147
|
+
const walletData = (0, elementtree_1.SubElement)(block1, "WalletData");
|
|
148
|
+
(0, elementtree_1.SubElement)(walletData, "PaymentSource").append((0, elementtree_1.CData)(secureEcom.paymentDataSource));
|
|
149
|
+
(0, elementtree_1.SubElement)(walletData, "Cryptogram").append((0, elementtree_1.CData)(secureEcom.cavv));
|
|
150
|
+
(0, elementtree_1.SubElement)(walletData, "ECI").append((0, elementtree_1.CData)(secureEcom.eci.toFixed()));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
134
153
|
// WalletData Element
|
|
135
154
|
if ((creditCardData.mobileType == __1.MobilePaymentMethodType.APPLEPAY ||
|
|
136
155
|
creditCardData.mobileType == __1.MobilePaymentMethodType.GOOGLEPAY) &&
|
|
@@ -1112,6 +1131,11 @@ class PorticoConnector extends XmlGateway_1.XmlGateway {
|
|
|
1112
1131
|
}
|
|
1113
1132
|
}
|
|
1114
1133
|
exports.PorticoConnector = PorticoConnector;
|
|
1134
|
+
const threeDSecureNumericVersion = (version) => {
|
|
1135
|
+
if (version === __1.Secure3dVersion.TWO)
|
|
1136
|
+
return "2";
|
|
1137
|
+
return "1";
|
|
1138
|
+
};
|
|
1115
1139
|
// prettier-ignore
|
|
1116
1140
|
function buildLineItems(data, isVisa, items) {
|
|
1117
1141
|
if (!items || items.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PorticoConnector.js","sourceRoot":"","sources":["../../../src/Gateways/PorticoConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PorticoConnector.js","sourceRoot":"","sources":["../../../src/Gateways/PorticoConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Element } from "@azz/elementtree";
|
|
2
|
+
import { AuthorizationBuilder, Customer, HostedPaymentConfig, IRecurringEntity, IRecurringService, ManagementBuilder, RecurringBuilder, ReportBuilder, Transaction, TransactionType } from "../";
|
|
3
|
+
import { XmlGateway } from "./XmlGateway";
|
|
4
|
+
export declare class RealexConnector extends XmlGateway implements IRecurringService {
|
|
5
|
+
merchantId: string;
|
|
6
|
+
accountId: string;
|
|
7
|
+
sharedSecret: string;
|
|
8
|
+
channel: string;
|
|
9
|
+
rebatePassword: string;
|
|
10
|
+
refundPassword: string;
|
|
11
|
+
supportsHostedPayments: boolean;
|
|
12
|
+
supportsRetrieval: boolean;
|
|
13
|
+
supportsUpdatePaymentDetails: boolean;
|
|
14
|
+
hostedPaymentConfig: HostedPaymentConfig;
|
|
15
|
+
processAuthorization(builder: AuthorizationBuilder): Promise<Transaction>;
|
|
16
|
+
serializeRequest(builder: AuthorizationBuilder): string;
|
|
17
|
+
manageTransaction(builder: ManagementBuilder): Promise<Transaction>;
|
|
18
|
+
processReport<T>(_builder: ReportBuilder<T>): Promise<T>;
|
|
19
|
+
processRecurring<T extends IRecurringEntity>(builder: RecurringBuilder<T>): Promise<T>;
|
|
20
|
+
protected buildEnvelope(transaction: Element): string;
|
|
21
|
+
protected buildCustomer(customer: Customer): Element;
|
|
22
|
+
protected mapResponse(rawResponse: string): Transaction;
|
|
23
|
+
protected mapRecurringResponse<T extends IRecurringEntity>(rawResponse: string, builder: RecurringBuilder<T>): T;
|
|
24
|
+
protected checkResponse(root: Element, acceptedCodes?: string[]): void;
|
|
25
|
+
protected generateHash(timestamp: string, orderId: string, amount: string, currency: string, paymentData: string, verify?: boolean): string;
|
|
26
|
+
protected mapAuthRequestType(builder: AuthorizationBuilder): string;
|
|
27
|
+
protected mapManageRequestType(type: TransactionType): string;
|
|
28
|
+
protected mapRecurringRequestType<T extends IRecurringEntity>(builder: RecurringBuilder<T>): "payer-new" | "card-new" | "payer-edit" | "card-update-card" | "card-cancel-card";
|
|
29
|
+
protected numberFormat(amount: number | string): string;
|
|
30
|
+
}
|