cybersource-rest-client 0.0.34 → 0.0.35

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.
Files changed (57) hide show
  1. package/Logging.md +65 -0
  2. package/README.md +8 -0
  3. package/docs/CreateAdhocReportRequest.md +1 -1
  4. package/docs/CreatePaymentRequest.md +2 -0
  5. package/docs/PtsV2PaymentsCapturesPost201ResponseOrderInformationAmountDetails.md +1 -0
  6. package/docs/PtsV2PaymentsPost201ResponseProcessorInformation.md +2 -0
  7. package/docs/Ptsv2paymentsBuyerInformation.md +2 -0
  8. package/docs/Ptsv2paymentsClientReferenceInformation.md +1 -0
  9. package/docs/Ptsv2paymentsDeviceInformation.md +1 -0
  10. package/docs/Ptsv2paymentsInvoiceDetails.md +8 -0
  11. package/docs/Ptsv2paymentsMerchantInformation.md +3 -0
  12. package/docs/Ptsv2paymentsOrderInformationAmountDetails.md +1 -0
  13. package/docs/Ptsv2paymentsOrderInformationInvoiceDetails.md +1 -0
  14. package/docs/Ptsv2paymentsOrderInformationShipTo.md +2 -0
  15. package/docs/Ptsv2paymentsPaymentInformation.md +1 -0
  16. package/docs/Ptsv2paymentsPaymentInformationBank.md +1 -0
  17. package/docs/Ptsv2paymentsPaymentInformationEWallet.md +8 -0
  18. package/docs/Ptsv2paymentsProcessorInformation.md +8 -0
  19. package/docs/Ptsv2paymentsidrefundsPaymentInformation.md +2 -1
  20. package/docs/Ptsv2paymentsidrefundsPaymentInformationBank.md +10 -0
  21. package/docs/Reportingv3reportsReportFilters.md +11 -0
  22. package/docs/Riskv1authenticationresultsPaymentInformationTokenizedCard.md +1 -0
  23. package/docs/Riskv1authenticationsPaymentInformationTokenizedCard.md +1 -0
  24. package/docs/Riskv1decisionsPaymentInformationTokenizedCard.md +1 -0
  25. package/docs/TssV2TransactionsGet200ResponseInstallmentInformation.md +1 -0
  26. package/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md +1 -0
  27. package/package.json +2 -2
  28. package/src/authentication/core/MerchantConfig.js +13 -103
  29. package/src/authentication/logging/LogConfiguration.js +156 -0
  30. package/src/authentication/logging/Logger.js +52 -37
  31. package/src/authentication/logging/SensitiveDataMasker.js +26 -0
  32. package/src/authentication/logging/SensitiveDataTags.js +37 -0
  33. package/src/index.js +36 -8
  34. package/src/model/CreateAdhocReportRequest.js +6 -7
  35. package/src/model/CreatePaymentRequest.js +20 -4
  36. package/src/model/PtsV2PaymentsCapturesPost201ResponseOrderInformationAmountDetails.js +9 -0
  37. package/src/model/PtsV2PaymentsPost201ResponseProcessorInformation.js +18 -0
  38. package/src/model/Ptsv2paymentsBuyerInformation.js +18 -0
  39. package/src/model/Ptsv2paymentsClientReferenceInformation.js +9 -0
  40. package/src/model/Ptsv2paymentsDeviceInformation.js +9 -0
  41. package/src/model/Ptsv2paymentsInvoiceDetails.js +83 -0
  42. package/src/model/Ptsv2paymentsMerchantInformation.js +27 -0
  43. package/src/model/Ptsv2paymentsOrderInformationAmountDetails.js +9 -0
  44. package/src/model/Ptsv2paymentsOrderInformationInvoiceDetails.js +9 -0
  45. package/src/model/Ptsv2paymentsOrderInformationShipTo.js +18 -0
  46. package/src/model/Ptsv2paymentsPaymentInformation.js +12 -4
  47. package/src/model/Ptsv2paymentsPaymentInformationBank.js +9 -0
  48. package/src/model/Ptsv2paymentsPaymentInformationEWallet.js +82 -0
  49. package/src/model/Ptsv2paymentsProcessorInformation.js +83 -0
  50. package/src/model/Ptsv2paymentsidrefundsPaymentInformation.js +14 -6
  51. package/src/model/Ptsv2paymentsidrefundsPaymentInformationBank.js +99 -0
  52. package/src/model/Reportingv3reportsReportFilters.js +105 -0
  53. package/src/model/Riskv1authenticationresultsPaymentInformationTokenizedCard.js +9 -0
  54. package/src/model/Riskv1authenticationsPaymentInformationTokenizedCard.js +9 -0
  55. package/src/model/Riskv1decisionsPaymentInformationTokenizedCard.js +9 -0
  56. package/src/model/TssV2TransactionsGet200ResponseInstallmentInformation.js +9 -0
  57. package/src/model/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.js +12 -4
package/Logging.md ADDED
@@ -0,0 +1,65 @@
1
+ [![Generic badge](https://img.shields.io/badge/LOGGING-NEW-GREEN.svg)](https://shields.io/)
2
+
3
+ # Logging in CyberSource REST Client SDK (Node.js)
4
+
5
+ Since v0.0.35, a new logging framework has been introduced in the SDK. This new logging framework makes use of Winston, and standardizes the logging so that it can be integrated with the logging in the client application. The decision to use Winston for building this logging framework has been taken based on benchmark studies that have been made on various logging platforms supported for Node.js.
6
+
7
+ [One such study](https://www.loggly.com/blog/benchmarking-popular-node-js-logging-libraries/) performed benchmarking of five logging frameworks on the market — Log4js, Winston, Bunyan, winston-syslog, and bunyan-syslog. In this study,
8
+
9
+ > _Winston performed best when logging to the console. Winston and Bunyan both performed best in their own ways when logging to the file system._
10
+
11
+ ## Winston Configuration
12
+
13
+ In order to leverage the new logging framework, the following configuration settings may be added to the merchant configuration as part of **`LogConfiguration`**:
14
+
15
+ * enableLog
16
+ * logDirectory
17
+ * logFileName
18
+ * logFileMaxSize
19
+ * loggingLevel
20
+ * maxLogFiles
21
+ * enableMasking
22
+
23
+ In our [sample Configuration.js](https://github.com/CyberSource/cybersource-rest-samples-node/blob/master/Data/Configuration.js) file, the following lines
24
+
25
+ ```javascript
26
+ 'enableLog': EnableLog,
27
+ 'logFilename': LogFileName,
28
+ 'logDirectory': LogDirectory,
29
+ 'logFileMaxSize': LogfileMaxSize
30
+ ```
31
+
32
+ have to be replaced by the following lines
33
+
34
+ ```javascript
35
+ 'logConfiguration': {
36
+ 'enableLog': EnableLog,
37
+ 'logFileName': LogFileName,
38
+ 'logDirectory': LogDirectory,
39
+ 'logFileMaxSize': LogfileMaxSize,
40
+ 'loggingLevel': LogLevel,
41
+ 'enableMasking': EnableMasking
42
+ }
43
+ ```
44
+
45
+ where, `EnableLog`, `LogFileName`, `LogDirectory`, `LogfileMaxSize`, `LogLevel`, and `EnableMasking` are variables to be provided.
46
+
47
+ ### Important Notes
48
+
49
+ The variable `enableMasking` needs to be set to `true` if sensitive data in the request/response should be hidden/masked.
50
+
51
+ Sensitive data fields are listed below:
52
+
53
+ * Card Security Code
54
+ * Card Number
55
+ * Any field with `number` in the name
56
+ * Card Expiration Month
57
+ * Card Expiration Year
58
+ * Account
59
+ * Routing Number
60
+ * Email
61
+ * First Name & Last Name
62
+ * Phone Number
63
+ * Type
64
+ * Token
65
+ * Signature
package/README.md CHANGED
@@ -56,6 +56,14 @@ Cybersource maintains a complete sandbox environment for testing and development
56
56
 
57
57
  API credentials are different for each environment, so be sure to switch to the appropriate credentials when switching environments.
58
58
 
59
+ ### Logging
60
+
61
+ [![Generic badge](https://img.shields.io/badge/LOGGING-NEW-GREEN.svg)](https://shields.io/)
62
+
63
+ Since v0.0.35, a new logging framework has been introduced in the SDK. This new logging framework makes use of Winston, and standardizes the logging so that it can be integrated with the logging in the client application.
64
+
65
+ More information about this new logging framework can be found in this file : [Logging.md](Logging.md)
66
+
59
67
  ## License
60
68
 
61
69
  This repository is distributed under a proprietary license. See the provided [`LICENSE.txt`](/LICENSE.txt) file.
@@ -11,7 +11,7 @@ Name | Type | Description | Notes
11
11
  **timezone** | **String** | Timezone of the report | [optional]
12
12
  **reportStartTime** | **Date** | Start time of the report | [optional]
13
13
  **reportEndTime** | **Date** | End time of the report | [optional]
14
- **reportFilters** | **{String: [String]}** | List of filters to apply | [optional]
14
+ **reportFilters** | [**Reportingv3reportsReportFilters**](Reportingv3reportsReportFilters.md) | | [optional]
15
15
  **reportPreferences** | [**Reportingv3reportsReportPreferences**](Reportingv3reportsReportPreferences.md) | | [optional]
16
16
  **groupName** | **String** | Specifies the group name | [optional]
17
17
 
@@ -21,6 +21,8 @@ Name | Type | Description | Notes
21
21
  **healthCareInformation** | [**Ptsv2paymentsHealthCareInformation**](Ptsv2paymentsHealthCareInformation.md) | | [optional]
22
22
  **promotionInformation** | [**Ptsv2paymentsPromotionInformation**](Ptsv2paymentsPromotionInformation.md) | | [optional]
23
23
  **tokenInformation** | [**Ptsv2paymentsTokenInformation**](Ptsv2paymentsTokenInformation.md) | | [optional]
24
+ **invoiceDetails** | [**Ptsv2paymentsInvoiceDetails**](Ptsv2paymentsInvoiceDetails.md) | | [optional]
25
+ **processorInformation** | [**Ptsv2paymentsProcessorInformation**](Ptsv2paymentsProcessorInformation.md) | | [optional]
24
26
  **riskInformation** | [**Ptsv2paymentsRiskInformation**](Ptsv2paymentsRiskInformation.md) | | [optional]
25
27
  **acquirerInformation** | [**Ptsv2paymentsAcquirerInformation**](Ptsv2paymentsAcquirerInformation.md) | | [optional]
26
28
  **recurringPaymentInformation** | [**Ptsv2paymentsRecurringPaymentInformation**](Ptsv2paymentsRecurringPaymentInformation.md) | | [optional]
@@ -5,5 +5,6 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **totalAmount** | **String** | Amount you requested for the capture. | [optional]
7
7
  **currency** | **String** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf). #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
8
+ **processorTransactionFee** | **String** | The fee decided by the PSP/Processor per transaction. | [optional]
8
9
 
9
10
 
@@ -31,5 +31,7 @@ Name | Type | Description | Notes
31
31
  **routing** | [**PtsV2PaymentsPost201ResponseProcessorInformationRouting**](PtsV2PaymentsPost201ResponseProcessorInformationRouting.md) | | [optional]
32
32
  **merchantNumber** | **String** | Identifier that was assigned to you by your acquirer. This value must be printed on the receipt. #### Returned by Authorizations and Credits. This reply field is only supported by merchants who have installed client software on their POS terminals and use these processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX | [optional]
33
33
  **retrievalReferenceNumber** | **String** | #### Ingenico ePayments Unique number that CyberSource generates to identify the transaction. You can use this value to identify transactions in the Ingenico ePayments Collections Report, which provides settlement information. Contact customer support for information about the report. ### CyberSource through VisaNet Retrieval request number. | [optional]
34
+ **paymentUrl** | **String** | Direct the customer to this URL to complete the payment. | [optional]
35
+ **completeUrl** | **String** | The redirect URL for forwarding the consumer to complete page. This redirect needed by PSP to track browser information of consumer. PSP then redirect consumer to merchant success URL. | [optional]
34
36
 
35
37
 
@@ -9,6 +9,8 @@ Name | Type | Description | Notes
9
9
  **companyTaxId** | **String** | Company’s tax identifier. This is only used for eCheck service. ** TeleCheck ** Contact your TeleCheck representative to find out whether this field is required or optional. ** All Other Processors ** Not used. | [optional]
10
10
  **personalIdentification** | [**[Ptsv2paymentsBuyerInformationPersonalIdentification]**](Ptsv2paymentsBuyerInformationPersonalIdentification.md) | | [optional]
11
11
  **hashedPassword** | **String** | The merchant's password that CyberSource hashes and stores as a hashed password. For details about this field, see the `customer_password` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link). | [optional]
12
+ **gender** | **String** | Customer's gender. Possible values are F (female), M (male),O (other). | [optional]
13
+ **language** | **String** | language setting of the user | [optional]
12
14
  **mobilePhone** | **Number** | Cardholder’s mobile phone number. **Important** Required for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions. | [optional]
13
15
 
14
16
 
@@ -4,6 +4,7 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **code** | **String** | Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction. #### Used by **Authorization** Required field. #### PIN Debit Requests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being reversed. Required field for all PIN Debit requests (purchase, credit, and reversal). #### FDC Nashville Global Certain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports. | [optional]
7
+ **reconciliationId** | **String** | Reference number for the transaction. Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource. The actual value used in the request to the processor is provided back to you by Cybersource in the response. | [optional]
7
8
  **pausedRequestId** | **String** | Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call. | [optional]
8
9
  **transactionId** | **String** | Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request. **Note** Use this field only if you want to support merchant-initiated reversal and void operations. #### Used by **Authorization, Authorization Reversal, Capture, Credit, and Void** Optional field. #### PIN Debit For a PIN debit reversal, your request must include a request ID or a merchant transaction identifier. Optional field for PIN debit purchase or credit requests. | [optional]
9
10
  **comments** | **String** | Comments | [optional]
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
8
8
  **userAgent** | **String** | Customer’s browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies the Netscape browser. | [optional]
9
9
  **fingerprintSessionId** | **String** | Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint information. The string can contain uppercase and lowercase letters, digits, hyphen (-), and underscore (_). However, do not use the same uppercase and lowercase letters to indicate different session IDs. The session ID must be unique for each merchant ID. You can use any string that you are already generating, such as an order number or web session ID. The session ID must be unique for each page load, regardless of an individual’s web session ID. If a user navigates to a profiled page and is assigned a web session, navigates away from the profiled page, then navigates back to the profiled page, the generated session ID should be different and unique. You may use a web session ID, but it is preferable to use an application GUID (Globally Unique Identifier). This measure ensures that a unique ID is generated every time the page is loaded, even if it is the same user reloading the page. | [optional]
10
10
  **useRawFingerprintSessionId** | **Boolean** | Boolean that indicates whether request contains the device fingerprint information. Values: - `true`: Use raw fingerprintSessionId when looking up device details. - `false` (default): Use merchant id + fingerprintSessionId as the session id for Device detail collection. | [optional]
11
+ **deviceType** | **String** | The device type at the client side. | [optional]
11
12
  **rawData** | [**[Ptsv2paymentsDeviceInformationRawData]**](Ptsv2paymentsDeviceInformationRawData.md) | | [optional]
12
13
  **httpAcceptBrowserValue** | **String** | Value of the Accept header sent by the customer’s web browser. **Note** If the customer’s browser provides a value, you must include it in your request. | [optional]
13
14
  **httpAcceptContent** | **String** | The exact content of the HTTP accept header. | [optional]
@@ -0,0 +1,8 @@
1
+ # CyberSource.Ptsv2paymentsInvoiceDetails
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **barcodeNumber** | **String** | Barcode ID scanned from the Payment Application. | [optional]
7
+
8
+
@@ -13,6 +13,9 @@ Name | Type | Description | Notes
13
13
  **cardAcceptorReferenceNumber** | **String** | Reference number that facilitates card acceptor/corporation communication and record keeping. For processor-specific information, see the `card_acceptor_ref_number` field description in [Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html) | [optional]
14
14
  **transactionLocalDateTime** | **String** | Date and time at your physical location. Format: `YYYYMMDDhhmmss`, where: - `YYYY` = year - `MM` = month - `DD` = day - `hh` = hour - `mm` = minutes - `ss` = seconds #### Used by **Authorization** Required for these processors: - American Express Direct - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - SIX Optional for all other processors. | [optional]
15
15
  **serviceFeeDescriptor** | [**Ptsv2paymentsMerchantInformationServiceFeeDescriptor**](Ptsv2paymentsMerchantInformationServiceFeeDescriptor.md) | | [optional]
16
+ **cancelUrl** | **String** | customer would be redirected to this url based on the decision of the transaction | [optional]
17
+ **successUrl** | **String** | customer would be redirected to this url based on the decision of the transaction | [optional]
18
+ **failureUrl** | **String** | customer would be redirected to this url based on the decision of the transaction | [optional]
16
19
  **merchantName** | **String** | Use this field only if you are requesting payment with Payer Authentication serice together. Your company’s name as you want it to appear to the customer in the issuing bank’s authentication form. This value overrides the value specified by your merchant bank. | [optional]
17
20
 
18
21
 
@@ -4,6 +4,7 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **totalAmount** | **String** | Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see: - \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/). - \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/). - \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/). If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit Amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf). #### FDMS South If you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) #### DCC for First Data Not used. | [optional]
7
+ **subTotalAmount** | **String** | Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request. When there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request. Note The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request. | [optional]
7
8
  **currency** | **String** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf). #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
8
9
  **discountAmount** | **String** | Total discount amount applied to the order. | [optional]
9
10
  **dutyAmount** | **String** | Total charges for any import or export duties included in the order. | [optional]
@@ -18,5 +18,6 @@ Name | Type | Description | Notes
18
18
  **referenceDataNumber** | **String** | Reference number. The meaning of this value is identified by the value of the `referenceDataCode` field. This field is a pass-through, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. | [optional]
19
19
  **salesSlipNumber** | **Number** | Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt. This field is supported only on Cybersource through Visanet and JCN gateway. Optional field. #### Card Present processing message If you included this field in the request, the returned value is the value that you sent in the request. If you did not include this field in the request, the system generated this value for you. The difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the system generates the system trace audit number (STAN), and you must print the receipt number on the receipt; whereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt. | [optional]
20
20
  **invoiceDate** | **String** | Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed. You can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday. The default is the date, in Pacific time, that the bank receives the request. Keep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. | [optional]
21
+ **costCenter** | **String** | Cost centre of the merchant | [optional]
21
22
 
22
23
 
@@ -3,7 +3,9 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
+ **title** | **String** | The title of the person receiving the product. | [optional]
6
7
  **firstName** | **String** | First name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field. | [optional]
8
+ **middleName** | **String** | Middle name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field. | [optional]
7
9
  **lastName** | **String** | Last name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field. | [optional]
8
10
  **address1** | **String** | First line of the shipping address. Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder’s location when shipTo objects are not present. | [optional]
9
11
  **address2** | **String** | Second line of the shipping address. Optional field. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder’s location when shipTo objects are not present. | [optional]
@@ -14,5 +14,6 @@ Name | Type | Description | Notes
14
14
  **bank** | [**Ptsv2paymentsPaymentInformationBank**](Ptsv2paymentsPaymentInformationBank.md) | | [optional]
15
15
  **paymentType** | [**Ptsv2paymentsPaymentInformationPaymentType**](Ptsv2paymentsPaymentInformationPaymentType.md) | | [optional]
16
16
  **initiationChannel** | **String** | Mastercard-defined code that indicates how the account information was obtained. - `00` (default): Card - `01`: Removable secure element that is personalized for use with a mobile phone and controlled by the wireless service provider; examples: subscriber identity module (SIM), universal integrated circuit card (UICC) - `02`: Key fob - `03`: Watch - `04`: Mobile tag - `05`: Wristband - `06`: Mobile phone case or sleeve - `07`: Mobile phone with a non-removable, secure element that is controlled by the wireless service provider; for example, code division multiple access (CDMA) - `08`: Removable secure element that is personalized for use with a mobile phone and not controlled by the wireless service provider; example: memory card - `09`: Mobile phone with a non-removable, secure element that is not controlled by the wireless service provider - `10`: Removable secure element that is personalized for use with a tablet or e-book and is controlled by the wireless service provider; examples: subscriber identity module (SIM), universal integrated circuit card (UICC) - `11`: Tablet or e-book with a non-removable, secure element that is controlled by the wireless service provider - `12`: Removable secure element that is personalized for use with a tablet or e-book and is not controlled by the wireless service provider - `13`: Tablet or e-book with a non-removable, secure element that is not controlled by the wireless service provider This field is supported only for Mastercard on CyberSource through VisaNet. #### Used by **Authorization** Optional field. | [optional]
17
+ **eWallet** | [**Ptsv2paymentsPaymentInformationEWallet**](Ptsv2paymentsPaymentInformationEWallet.md) | | [optional]
17
18
 
18
19
 
@@ -6,5 +6,6 @@ Name | Type | Description | Notes
6
6
  **account** | [**Ptsv2paymentsPaymentInformationBankAccount**](Ptsv2paymentsPaymentInformationBankAccount.md) | | [optional]
7
7
  **routingNumber** | **String** | Bank routing number. This is also called the _transit number_. For details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/) | [optional]
8
8
  **iban** | **String** | International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction. For all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link). | [optional]
9
+ **swiftCode** | **String** | Bank’s SWIFT code. You can use this field only when scoring a direct debit transaction. Required only for crossborder transactions. For all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link). | [optional]
9
10
 
10
11
 
@@ -0,0 +1,8 @@
1
+ # CyberSource.Ptsv2paymentsPaymentInformationEWallet
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **accountId** | **String** | The ID of the customer, passed in the return_url field by PayPal after customer approval. | [optional]
7
+
8
+
@@ -0,0 +1,8 @@
1
+ # CyberSource.Ptsv2paymentsProcessorInformation
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **preApprovalToken** | **String** | Token received in original session service. | [optional]
7
+
8
+
@@ -4,7 +4,7 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **card** | [**Ptsv2paymentsidrefundsPaymentInformationCard**](Ptsv2paymentsidrefundsPaymentInformationCard.md) | | [optional]
7
- **bank** | [**Ptsv2paymentsPaymentInformationBank**](Ptsv2paymentsPaymentInformationBank.md) | | [optional]
7
+ **bank** | [**Ptsv2paymentsidrefundsPaymentInformationBank**](Ptsv2paymentsidrefundsPaymentInformationBank.md) | | [optional]
8
8
  **tokenizedCard** | [**Ptsv2paymentsPaymentInformationTokenizedCard**](Ptsv2paymentsPaymentInformationTokenizedCard.md) | | [optional]
9
9
  **fluidData** | [**Ptsv2paymentsPaymentInformationFluidData**](Ptsv2paymentsPaymentInformationFluidData.md) | | [optional]
10
10
  **customer** | [**Ptsv2paymentsPaymentInformationCustomer**](Ptsv2paymentsPaymentInformationCustomer.md) | | [optional]
@@ -13,5 +13,6 @@ Name | Type | Description | Notes
13
13
  **shippingAddress** | [**Ptsv2paymentsPaymentInformationShippingAddress**](Ptsv2paymentsPaymentInformationShippingAddress.md) | | [optional]
14
14
  **legacyToken** | [**Ptsv2paymentsPaymentInformationLegacyToken**](Ptsv2paymentsPaymentInformationLegacyToken.md) | | [optional]
15
15
  **paymentType** | [**Ptsv2paymentsPaymentInformationPaymentType**](Ptsv2paymentsPaymentInformationPaymentType.md) | | [optional]
16
+ **eWallet** | [**Ptsv2paymentsPaymentInformationEWallet**](Ptsv2paymentsPaymentInformationEWallet.md) | | [optional]
16
17
 
17
18
 
@@ -0,0 +1,10 @@
1
+ # CyberSource.Ptsv2paymentsidrefundsPaymentInformationBank
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **account** | [**Ptsv2paymentsPaymentInformationBankAccount**](Ptsv2paymentsPaymentInformationBankAccount.md) | | [optional]
7
+ **routingNumber** | **String** | Bank routing number. This is also called the _transit number_. For details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/) | [optional]
8
+ **iban** | **String** | International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction. For all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link). | [optional]
9
+
10
+
@@ -0,0 +1,11 @@
1
+ # CyberSource.Reportingv3reportsReportFilters
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **applicationName** | **[String]** | | [optional]
7
+ **firstName** | **[String]** | | [optional]
8
+ **lastName** | **[String]** | | [optional]
9
+ **email** | **[String]** | | [optional]
10
+
11
+
@@ -3,6 +3,7 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
+ **transactionType** | **String** | Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used. | [optional]
6
7
  **type** | **String** | Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International | [optional]
7
8
  **expirationMonth** | **String** | One of two possible meanings: - The two-digit month in which a token expires. - The two-digit month in which a card expires. Format: `MM` Possible values: `01` through `12` **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\ **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Samsung Pay and Apple Pay Month in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. For processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html) | [optional]
8
9
  **expirationYear** | **String** | One of two possible meanings: - The four-digit year in which a token expires. - The four-digit year in which a card expires. Format: `YYYY` Possible values: `1900` through `3000` Data type: Non-negative integer **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through 3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of the year. #### Samsung Pay and Apple Pay Year in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. For processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html) | [optional]
@@ -3,6 +3,7 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
+ **transactionType** | **String** | Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used. | [optional]
6
7
  **type** | **String** | Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International |
7
8
  **expirationMonth** | **String** | One of two possible meanings: - The two-digit month in which a token expires. - The two-digit month in which a card expires. Format: `MM` Possible values: `01` through `12` **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\ **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Samsung Pay and Apple Pay Month in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. For processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html) |
8
9
  **expirationYear** | **String** | One of two possible meanings: - The four-digit year in which a token expires. - The four-digit year in which a card expires. Format: `YYYY` Possible values: `1900` through `3000` Data type: Non-negative integer **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through 3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of the year. #### Samsung Pay and Apple Pay Year in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. For processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html) |
@@ -3,6 +3,7 @@
3
3
  ## Properties
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
+ **transactionType** | **String** | Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used. | [optional]
6
7
  **type** | **String** | Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International | [optional]
7
8
  **_number** | **String** | Customer’s payment network token value. | [optional]
8
9
  **expirationMonth** | **String** | One of two possible meanings: - The two-digit month in which a token expires. - The two-digit month in which a card expires. Format: `MM` Possible values: `01` through `12` **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\ **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Samsung Pay and Apple Pay Month in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. For processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html) | [optional]
@@ -4,5 +4,6 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **numberOfInstallments** | **String** | Number of Installments. | [optional]
7
+ **identifier** | **String** | Standing Instruction/Installment identifier. | [optional]
7
8
 
8
9
 
@@ -9,5 +9,6 @@ Name | Type | Description | Notes
9
9
  **authorizedAmount** | **String** | Amount that was authorized. Returned by authorization service. #### PIN debit Amount of the purchase. Returned by PIN debit purchase. #### FDMS South If you accept IDR or CLP currencies, see the entry for FDMS South in Merchant Descriptors Using the SCMP API. | [optional]
10
10
  **settlementAmount** | **String** | This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder’s account. This field is returned for OCT transactions. | [optional]
11
11
  **settlementCurrency** | **String** | This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account. This field is returned for OCT transactions. | [optional]
12
+ **surcharge** | [**Ptsv2paymentsOrderInformationAmountDetailsSurcharge**](Ptsv2paymentsOrderInformationAmountDetailsSurcharge.md) | | [optional]
12
13
 
13
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cybersource-rest-client",
3
- "version": "0.0.34",
3
+ "version": "0.0.35",
4
4
  "description": "Node.js SDK for the CyberSource REST API",
5
5
  "author": "developer@cybersource.com",
6
6
  "license": "CyberSource",
@@ -20,7 +20,7 @@
20
20
  "collections": "^5.1.2",
21
21
  "jwt-simple": "^0.5.1",
22
22
  "memory-cache": "^0.2.0",
23
- "node-forge": "^0.10.0",
23
+ "node-forge": ">=1.0.0",
24
24
  "promise": "^8.0.1",
25
25
  "winston": "^3.3.3",
26
26
  "winston-daily-rotate-file": "^4.5.1"
@@ -4,6 +4,7 @@ var Constants = require('../util/Constants');
4
4
  var Logger = require('../logging/Logger');
5
5
  var Map = require('collections/map');
6
6
  var ApiException = require('../util/ApiException');
7
+ var LogConfiguration = require('../logging/LogConfiguration');
7
8
 
8
9
  /**
9
10
  * This function has all the merchentConfig properties getters and setters methods
@@ -22,20 +23,12 @@ function MerchantConfig(result) {
22
23
  this.requestTarget;
23
24
  this.requestJsonData;
24
25
 
25
- /*Logging Parameters */
26
- this.logDirectory = result.logDirectory;
27
- this.logFilename = result.logFilename;
28
- this.logFileMaxSize = result.logFileMaxSize;
29
- this.loggingLevel = result.loggingLevel;
30
- this.maxLogFiles = result.maxLogFiles;
31
-
32
26
  /* JWT Parameters*/
33
27
  this.keysDirectory = result.keysDirectory;
34
28
  this.keyAlias = result.keyAlias;
35
29
  this.keyPass = result.keyPass;
36
30
  this.keyType;
37
31
  this.keyFilename = result.keyFileName;
38
- this.enableLog = result.enableLog;
39
32
  this.useHttpClient;
40
33
 
41
34
  /* proxy Parameters*/
@@ -69,6 +62,8 @@ function MerchantConfig(result) {
69
62
 
70
63
  this.solutionId = result.solutionId;
71
64
 
65
+ this.logConfiguration = new LogConfiguration(result.logConfiguration);
66
+
72
67
  /* Fallback logic*/
73
68
  this.defaultPropValues();
74
69
 
@@ -150,14 +145,6 @@ MerchantConfig.prototype.setRefreshToken = function setRefreshToken(refreshToken
150
145
  this.refreshToken = refreshToken;
151
146
  };
152
147
 
153
- MerchantConfig.prototype.setEnableLog = function setEnableLog(enableLog) {
154
- this.enableLog = enableLog;
155
- };
156
-
157
- MerchantConfig.prototype.setLogDirectory = function setLogDirectory(logDirectory) {
158
- this.logDirectory = logDirectory;
159
- };
160
-
161
148
  MerchantConfig.prototype.setSolutionId = function setSolutionId(solutionId) {
162
149
  this.solutionId = solutionId;
163
150
  };
@@ -234,14 +221,6 @@ MerchantConfig.prototype.getMerchantsecretKey = function getMerchantsecretKey()
234
221
  return this.merchantsecretKey;
235
222
  };
236
223
 
237
- MerchantConfig.prototype.getEnableLog = function getEnableLog() {
238
- return this.enableLog;
239
- };
240
-
241
- MerchantConfig.prototype.getLogDirectory = function getLogDirectory() {
242
- return this.logDirectory;
243
- };
244
-
245
224
  MerchantConfig.prototype.getSolutionId = function getSolutionId() {
246
225
  return this.solutionId;
247
226
  };
@@ -250,38 +229,6 @@ MerchantConfig.prototype.getURL = function getURL() {
250
229
  return this.url;
251
230
  };
252
231
 
253
- MerchantConfig.prototype.getLogFileMaxSize = function getLogFileMaxSize() {
254
- return this.logFileMaxSize;
255
- };
256
-
257
- MerchantConfig.prototype.setLogFileMaxSize = function setLogFileMaxSize(logFileMaxSize) {
258
- this.logFileMaxSize = logFileMaxSize;
259
- };
260
-
261
- MerchantConfig.prototype.getLogFileName = function getLogFileName() {
262
- return this.logFilename;
263
- };
264
-
265
- MerchantConfig.prototype.setLogFileName = function setLogFileName(logFilename) {
266
- this.logFilename = logFilename;
267
- };
268
-
269
- MerchantConfig.prototype.getLoggingLevel = function getLoggingLevel() {
270
- return this.loggingLevel;
271
- };
272
-
273
- MerchantConfig.prototype.setLoggingLevel = function setLoggingLevel(loggingLevel) {
274
- this.loggingLevel = loggingLevel;
275
- };
276
-
277
- MerchantConfig.prototype.getMaxLogFiles = function getMaxLogFiles() {
278
- return this.maxLogFiles;
279
- };
280
-
281
- MerchantConfig.prototype.setMaxLogFiles = function setMaxLogFiles(maxLogFiles) {
282
- this.maxLogFiles = maxLogFiles;
283
- };
284
-
285
232
  MerchantConfig.prototype.getRequestTarget = function getRequestTarget() {
286
233
  return this.requestTarget;
287
234
  };
@@ -322,7 +269,6 @@ MerchantConfig.prototype.setRunEnvironment = function setRunEnvironment(runEnvir
322
269
  this.runEnvironment = runEnvironment;
323
270
  }
324
271
 
325
-
326
272
  MerchantConfig.prototype.getProxyAddress = function getProxyAddress() {
327
273
  return this.proxyAddress;
328
274
  }
@@ -372,6 +318,14 @@ MerchantConfig.prototype.setKeyFileName = function setKeyFileName(keyFilename) {
372
318
  this.keyFilename = keyFilename;
373
319
  }
374
320
 
321
+ MerchantConfig.prototype.getLogConfiguration = function getLogConfiguration() {
322
+ return this.logConfiguration;
323
+ }
324
+
325
+ MerchantConfig.prototype.setLogConfiguration = function setLogConfiguration(logConfig) {
326
+ this.logConfiguration = new LogConfiguration(logConfig);
327
+ }
328
+
375
329
  MerchantConfig.prototype.runEnvironmentCheck = function runEnvironmentCheck(logger) {
376
330
 
377
331
  /*url*/
@@ -396,51 +350,7 @@ MerchantConfig.prototype.defaultPropValues = function defaultPropValues() {
396
350
 
397
351
  var warningMessage = "";
398
352
  //fallback for missing values
399
- if (this.enableLog === null || this.enableLog === "" || this.enableLog === undefined) {
400
- this.enableLog = true;
401
- }
402
- else if (typeof (this.enableLog) !== "boolean") {
403
- this.enableLog = false;
404
- }
405
-
406
- if (this.logFileMaxSize === null || this.logFileMaxSize === "" || this.logFileMaxSize === undefined) {
407
- this.logFileMaxSize = Constants.DEFAULT_LOG_SIZE;
408
- }
409
-
410
- if (this.maxLogFiles === null || this.maxLogFiles === "" || this.maxLogFiles === undefined) {
411
- this.maxLogFiles = Constants.DEFAULT_MAX_LOG_FILES;
412
- }
413
-
414
- if (this.loggingLevel === null || this.loggingLevel === "" || this.loggingLevel === undefined) {
415
- this.loggingLevel = Constants.DEFAULT_LOGGING_LEVEL;
416
- }
417
-
418
- var fs = require('fs');
419
- var path = require('path');
420
- if (this.logDirectory === null || this.logDirectory === "" || this.logDirectory === undefined) {
421
- this.logDirectory = Constants.DEFAULT_LOG_DIRECTORY;
422
- if (!fs.existsSync(this.logDirectory) && this.enableLog === true) {
423
- fs.mkdir(path.resolve(this.logDirectory), function (err) {
424
- if (err)
425
- throw err;
426
- })
427
- }
428
- }
429
- else if (!fs.existsSync(this.logDirectory)) {
430
- this.logDirectory = Constants.DEFAULT_LOG_DIRECTORY;
431
- warningMessage += Constants.INVALID_LOGDIRECTORY;
432
- if (!fs.existsSync(this.logDirectory) && this.enableLog === true) {
433
- fs.mkdir(path.resolve(this.logDirectory), function (err) {
434
- if (err)
435
- throw err;
436
- })
437
- }
438
- }
439
-
440
-
441
- if (this.logFilename === null || this.logFilename === "" || this.logFilename === undefined) {
442
- this.logFilename = Constants.DEFAULT_LOG_FILENAME;
443
- }
353
+ this.logConfiguration.getDefaultLoggingProperties(warningMessage);
444
354
 
445
355
  var logger = Logger.getLogger(this, 'MerchantConfig');
446
356
  logger.info(Constants.BEGIN_TRANSACTION);
@@ -567,7 +477,7 @@ MerchantConfig.prototype.defaultPropValues = function defaultPropValues() {
567
477
  this.refreshToken = this.refreshToken.toString();
568
478
  }
569
479
  }
570
- else if (this.authenticationType.toLowerCase() === Constants.MUTUAL_AUTH)
480
+ else if (this.authenticationType.toLowerCase() === Constants.MUTUAL_AUTH && this.enableClientCert)
571
481
  {
572
482
  if (this.clientId === null || this.clientId === "" || this.clientId === undefined) {
573
483
  ApiException.ApiException(Constants.CLIENT_ID_EMPTY, logger);