mastercard-ais
所属分类:工具库
开发工具:Java
文件大小:0KB
下载次数:2
上传日期:2023-08-24 06:46:42
上 传 者:
sh-1993
说明: 轻松流畅地与万事达卡帐户信息API集成
(Integrate with Mastercard Account Information APIs easily and fluently)
文件列表:
LICENSE (1068, 2023-08-23)
pom.xml (5475, 2023-08-23)
src/ (0, 2023-08-23)
src/main/ (0, 2023-08-23)
src/main/java/ (0, 2023-08-23)
src/main/java/io/ (0, 2023-08-23)
src/main/java/io/github/ (0, 2023-08-23)
src/main/java/io/github/nikosrig/ (0, 2023-08-23)
src/main/java/io/github/nikosrig/Accounts.java (2249, 2023-08-23)
src/main/java/io/github/nikosrig/Aspsps.java (787, 2023-08-23)
src/main/java/io/github/nikosrig/Consents.java (3204, 2023-08-23)
src/main/java/io/github/nikosrig/MastercardAis.java (2957, 2023-08-23)
src/main/java/io/github/nikosrig/StandingOrders.java (839, 2023-08-23)
src/main/java/io/github/nikosrig/Transactions.java (1595, 2023-08-23)
src/main/java/io/github/nikosrig/http/ (0, 2023-08-23)
src/main/java/io/github/nikosrig/http/MastercardAisAuthUtil.java (1021, 2023-08-23)
src/main/java/io/github/nikosrig/http/MastercardAisClient.java (1456, 2023-08-23)
src/main/java/io/github/nikosrig/model/ (0, 2023-08-23)
src/main/java/io/github/nikosrig/model/Account.java (508, 2023-08-23)
src/main/java/io/github/nikosrig/model/AccountList.java (131, 2023-08-23)
src/main/java/io/github/nikosrig/model/AccountNumber.java (300, 2023-08-23)
src/main/java/io/github/nikosrig/model/Amount.java (107, 2023-08-23)
src/main/java/io/github/nikosrig/model/Aspsp.java (367, 2023-08-23)
src/main/java/io/github/nikosrig/model/AspspCapabilities.java (157, 2023-08-23)
src/main/java/io/github/nikosrig/model/AspspCredentialField.java (107, 2023-08-23)
src/main/java/io/github/nikosrig/model/AspspHealth.java (126, 2023-08-23)
src/main/java/io/github/nikosrig/model/AspspList.java (148, 2023-08-23)
src/main/java/io/github/nikosrig/model/AspspLogo.java (121, 2023-08-23)
src/main/java/io/github/nikosrig/model/AuthorizedConsent.java (211, 2023-08-23)
src/main/java/io/github/nikosrig/model/Balance.java (180, 2023-08-23)
src/main/java/io/github/nikosrig/model/Consent.java (456, 2023-08-23)
src/main/java/io/github/nikosrig/model/HolderAddress.java (228, 2023-08-23)
src/main/java/io/github/nikosrig/model/OriginalRequestInfo.java (100, 2023-08-23)
src/main/java/io/github/nikosrig/model/RawConsent.java (140, 2023-08-23)
src/main/java/io/github/nikosrig/model/StandingOrder.java (356, 2023-08-23)
... ...
Mastercard Account Information Services
Integrate with Mastercard Account Information APIs easily and fluently
## :notebook_with_decorative_cover: Table of Contents
- [Getting Started](https://github.com/NikosRig/mastercard-ais/blob/master/#rocket-getting-started)
* [Prerequisites](https://github.com/NikosRig/mastercard-ais/blob/master/#round_pushpin-prerequisites)
* [Installation](https://github.com/NikosRig/mastercard-ais/blob/master/#installation)
* [Building the MastercardAis](https://github.com/NikosRig/mastercard-ais/blob/master/#building-the-mastercardais)
* [Consents](https://github.com/NikosRig/mastercard-ais/blob/master/#consents)
* [Get Account Information Consent](https://github.com/NikosRig/mastercard-ais/blob/master/#get-account-information-consent)
* [Exchange the PSU Authorization for Access Consent](https://github.com/NikosRig/mastercard-ais/blob/master/#exchange-the-psu-authorization-for-access-consent)
* [Get Raw Account Information Consent](https://github.com/NikosRig/mastercard-ais/blob/master/#get-raw-account-information-consent)
* [Delete Account Information Consent](https://github.com/NikosRig/mastercard-ais/blob/master/#delete-account-information-consent)
* [Accounts](https://github.com/NikosRig/mastercard-ais/blob/master/#accounts)
* [Get List of Accounts](https://github.com/NikosRig/mastercard-ais/blob/master/#get-list-of-accounts)
* [Get Account Details](https://github.com/NikosRig/mastercard-ais/blob/master/#get-account-details)
* [Get Account Balances](https://github.com/NikosRig/mastercard-ais/blob/master/#get-account-balances)
* [Get Account Standing Orders](https://github.com/NikosRig/mastercard-ais/blob/master/#get-account-standing-orders)
* [Transactions](https://github.com/NikosRig/mastercard-ais/blob/master/#transactions)
* [Get Account Transaction Details](https://github.com/NikosRig/mastercard-ais/blob/master/#get-account-transaction-details)
* [Get Account Transactions](https://github.com/NikosRig/mastercard-ais/blob/master/#get-account-transactions)
* [ASPSPs](https://github.com/NikosRig/mastercard-ais/blob/master/#aspsps)
* [Get List of Available ASPSPs](https://github.com/NikosRig/mastercard-ais/blob/master/#get-list-of-available-aspsps)
## :rocket: Getting Started
### :round_pushpin: Prerequisites
To access the AIS features you need setup
an [Open Banking Connect Account Information Service project](https://github.com/NikosRig/mastercard-ais/blob/master/https://developer.mastercard.com/open-banking-connect/documentation/aisfeatures/overview/)
and provide to the library the `consumer key`, `keystore password`, `key alias` and the `certificate`.
### Installation
```bash
io.github.nikosrig
mastercard-ais
1.1.0
```
### Building the MastercardAis
| Options | Description |
| ----------------------------------| ------------------------------------- |
| `enableSandboxMode()` | Enable sandbox mode |
| `withPkcs12FilePath(String)` | Set .p12 Certificate |
| `withSigningKeyAlias(String)` | Set signing key alias |
| `withSigningKeyPassword(String)` | Set signing key password |
| `withConsumerKey(String)` | Set consumer key |
#### Example
```bash
MastercardAis mastercardAis = new MastercardAis.Builder()
.enableSandboxMode()
.withPkcs12FilePath("./mastercard-key.p12")
.withSigningKeyAlias("your-key-alias")
.withSigningKeyPassword("your-key-password")
.withConsumerKey("your-consumer-key")
.build();
```
### Consents
#### Get Account Information Consent
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withIsLivePsuRequest(Boolean)` | Flag indicating if request is initiated by PSU |
| `withTppRedirectURI(String)` | Call back uri |
| `addConsentPermission(ConsentPermission)` | allPSD2, accounts, balances, transactions, standingorders |
| `addAccount(String iban, String currency, String schemeName)` | (Optional) Adds account |
| `withPsuAgent(String)` | (Optional) PSU's browser agent details |
| `withPsuTppCustomerId(String)` | (Optional) Identifier of the PSU in TPP system |
| `withPsuIPAddress(String)` | (Optional) IP address of PSU's terminal device. Required when isLivePsuRequest=true |
| `withValidUntilDateTime(LocalDateTime)` | (Optional) Consent valid until date time. Сan only represent future date value |
| `withCredentials(String iban)` | (Optional) Elements used to define the credentials provided by PSU |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
| Consent | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `consentRequestId` | ID of the consent request |
| `scaRedirectUri` | Redirect URL for SCA |
#### Example
```bash
GetConsentRequest request = new GetConsentRequestBuilder()
.withAspspId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.withMerchant("MerchantId", "MerchantName")
.withIsLivePsuRequest(true)
.withPsuAgent("PostmanRuntime/7.20.1")
.withPsuIPAddress("127.0.0.1")
.withPsuTppCustomerId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.addConsentPermission(ConsentPermission.allPSD2)
.addAccount("ACCNUMBR1234567", "EUR", "IBAN")
.withTppRedirectURI("https://tpp-ob.com/callback")
.withCredentials("DE357543513")
.build();
Consent consent = mastercardAis.consents().get(request);
```
#### Exchange the PSU Authorization for Access Consent
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withIsLivePsuRequest(Boolean)` | Flag indicating if request is initiated by PSU |
| `withAuthorization(String)` | The authorization query received after PSU has authorized the consent (e.g code=xx) |
| `withPsuAgent(String)` | (Optional) PSU's browser agent details |
| `withPsuIPAddress(String)` | (Optional) IP address of PSU's terminal device. Required when isLivePsuRequest=true |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
| Authorized Consent | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `consentId` | Consent Id |
| `consentRequestId` | ID of the consent request |
| `originalRequestInfo` | Original xRequestId given by the client on request |
| `signatureStatus` | Status of validation of ASPSP's signature |
#### Example
```bash
AuthConsentRequest request = new AuthConsentRequestBuilder()
.withAspspId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.withMerchant("MerchantId", "MerchantName")
.withIsLivePsuRequest(true)
.withPsuAgent("PostmanRuntime/7.20.1")
.withPsuIPAddress("127.0.0.1")
.withAuthorization("code=UKaccountEsbGdTB2a9MbSdt53serRsv0aUK001&state=38948933-38ae-45af-953e-25a69fefa39e")
.build();
AuthorizedConsent consent = mastercardAis.consents().authorize(request);
```
#### Get Raw Account Information Consent
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withIsLivePsuRequest(Boolean)` | Flag indicating if request is initiated by PSU |
| `withPsuAgent(String)` | (Optional) PSU's browser agent details |
| `withPsuTppCustomerId(String)` | (Optional) Identifier of the PSU in TPP system |
| `withPsuIPAddress(String)` | (Optional) IP address of PSU's terminal device. Required when isLivePsuRequest=true |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
| Raw Consent | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `rawConsent` | Raw consent data received from ASPSP and encoded Base64 |
| `originalRequestInfo` | Original xRequestId given by the client on request |
#### Example
```bash
GetRawConsentRequest request = new GetRawConsentRequestBuilder()
.withAspspId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.withConsentId("GFiTpF3:EBy5xGqQMatk")
.withMerchant("MerchantId", "MerchantName")
.withIsLivePsuRequest(true)
.withPsuAgent("PostmanRuntime/7.20.1")
.withPsuIPAddress("127.0.0.1")
.build();
RawConsent rawConsent = mastercardAis.consents().getRaw(request);
```
#### Delete Account Information Consent
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withConsentId(String)` | Consent identification |
| `withPsuTppCustomerId(String)` | (Optional) Identifier of the PSU in TPP system |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
#### Example
```bash
DeleteConsentRequest request = new DeleteConsentRequestBuilder()
.withAspspId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.withMerchant("MerchantId", "MerchantName")
.withConsentId("GFiTpF3:EBy5xGqQMatk")
.withPsuTppCustomerId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.build();
mastercardAis.consents().delete(request);
```
### Accounts
#### Get List of Accounts
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
| `withIsLivePsuRequest(Boolean)` | Flag indicating if request is initiated by PSU |
| `withConsentId(String)` | Consent identification |
| `withPsuAgent(String)` | (Optional) PSU's browser agent details |
| `withPsuIPAddress(String)` | (Optional) IP address of PSU's terminal device. Required when isLivePsuRequest=true |
| `withPsuTppCustomerId(String)` | (Optional) Identifier of the PSU in TPP system |
| AccountList | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `accounts` | List of Account Models |
#### Example
```bash
ListAccountsRequest request = new ListAccountsRequestBuilder()
.withAspspId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.withMerchant("MerchantId", "MerchantName")
.withConsentId("GFiTpF3:EBy5xGqQMatk")
.withIsLivePsuRequest(true)
.withPsuAgent("PostmanRuntime/7.20.1")
.withPsuIPAddress("127.0.0.1")
.withPsuTppCustomerId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.build();
AccountList accountList = mastercardAis.accounts().list(request);
```
#### Get Account Details
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withAccountId(String)` | Account reference |
| `withIsLivePsuRequest(Boolean)` | Flag indicating if request is initiated by PSU |
| `withConsentId(String)` | Consent identification |
| `withPsuAgent(String)` | (Optional) PSU's browser agent details |
| `withPsuIPAddress(String)` | (Optional) IP address of PSU's terminal device. Required when isLivePsuRequest=true |
| `withPsuTppCustomerId(String)` | (Optional) Identifier of the PSU in TPP system |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
| Account | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `resourceId` | Account reference identification |
| `currency` | Currency code |
| `accountHolderType` | Specifies the type of account |
| `accountType` | Specifies the sub type of account |
| `nameClient` | Accounts name client |
| `name` | Account name |
| `holderName` | Holder name |
| `accountNumber` | Account number |
| `schemeName` | List of Account Models |
| `auxData` | List of Account Models |
| `accountPsuRelations` | Description of relations between PSU and an Account |
| `balances` | Balance Model |
| `holderAddress` | |
| `holderNameAddress` | |
#### Example
```bash
GetAccountRequest request = new GetAccountRequestBuilder()
.withAspspId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.withMerchant("MerchantId", "MerchantName")
.withConsentId("GFiTpF3:EBy5xGqQMatk")
.withAccountId("aa:q648383844dhhfHhTV")
.withIsLivePsuRequest(true)
.withPsuAgent("PostmanRuntime/7.20.1")
.withPsuIPAddress("127.0.0.1")
.withPsuTppCustomerId("420e5cff-0e2a-4156-991a-f6eeef0478cf")
.build();
Account account = mastercardAis.accounts().get(request);
```
#### Get Account Balances
| Request Options | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `withAspspId(String)` | Identification of ASPSP |
| `withAccountId(String)` | Account reference |
| `withIsLivePsuRequest(Boolean)` | Flag indicating if request is initiated by PSU |
| `withConsentId(String)` | Consent identification |
| `withPsuAgent(String)` | (Optional) PSU's browser agent details |
| `withPsuIPAddress(String)` | (Optional) IP address of PSU's terminal device. Required when isLivePsuRequest=true |
| `withPsuTppCustomerId(String)` | (Optional) Identifier of the PSU in TPP system |
| `withMerchant(String MerchantId, String MerchantName)` | (Optional) Merchant id and name |
| Account | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `resourceId` | Account reference identification |
| `name` | Account name |
| `balances` | Balance Model |
| Balance | Description |
| --------------------------------------------------------------| --------------------------------------------------------------------------------------|
| `balanceType` | Type of balance |
| `dateTime` ... ...
近期下载者:
相关文件:
收藏者: