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

linkedin Java


Integrate with Mastercard Account Information APIs easily and fluently

Mastercard Documentation


## :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` ... ...

近期下载者

相关文件


收藏者