-
Notifications
You must be signed in to change notification settings - Fork 528
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1001 from dastansam/master
ISO-8583 PoC Milestone 1
- Loading branch information
Showing
1 changed file
with
27 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Milestone Delivery :mailbox: | ||
|
||
**The [invoice form :pencil:](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform) has been filled out correctly for this milestone and the delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** | ||
|
||
* **Application Document:** [Application](https://github.com/w3f/Grants-Program/blob/master/applications/ISO-8583-implementation.md) | ||
* **Milestone Number:** 1 | ||
|
||
**Context** (optional) | ||
|
||
This milestone is mainly about setting up the infrastructure for implementing ISO-8583 standard for Substrate. | ||
|
||
**Deliverables** | ||
|
||
| Number | Deliverable | Link | Notes | | ||
| -----: | ----------- | ------------- | ----- | | ||
| **0a.** | License | [License](https://github.com/subclone/payment-processor/blob/main/LICENSE) | MIT | | ||
| **0b.** | Documentation | [Main README](https://github.com/subclone/payment-processor/tree/main) | Main README file contains links to all the crate-specific relevant documentation. Each crate is documented. | | ||
| **0c.** | Testing and Testing Guide | [Unit/Integration tests](https://github.com/subclone/payment-processor/tree/main/pcidss/oracle/src/tests), [Unit tests](https://github.com/subclone/payment-processor/blob/main/pcidss/core/src/bank_account/models.rs#L149) | Integration tests and unit tests are provided. Integration tests are written to ensure ISO-8583 message is being processed correctly. Unit tests are written over primitive models and functions. | | ||
| **0d.** | Docker | [Dockerfile](https://github.com/subclone/payment-processor/blob/main/pcidss/Dockerfile) | Dockerfile for Oracle | | ||
| 1. | Merchant App | [Merchant App](https://github.com/subclone/payment-processor/tree/main/interface) | This is a demo interface that uses the PCIDSS Oracle Gateway and Payment Processor to simulate bank dashboard and demo checkout page. | | ||
| 2. | Payment Processor | [Payment processor server](https://github.com/subclone/payment-processor/tree/main/payment-processor) | Simulates a traditional payment processor which is used to process ISO-8583 messages from clients (i.e PoS terminals, ATMs, web payment gateways, etc.) and send them to the appropriate destination. You could think of it as a naive simulation of Stripe or PayPal. | | ||
| 3. | PCIDSS Compliant Gateway | [Oracle](https://github.com/subclone/payment-processor/tree/main/pcidss/oracle) | PCIDSS Compliant Oracle contains set of services to process ISO-8583 messages, sync with Substrate chain and maintain local ledger. In a nutshell, it mocks a traditional bank which has issued some cards and is currently used for implementing a PoC implementation of ISO-8583 on a Substrate based blockchain. Substrate chain connection is not implemented yet. | | ||
| 4. | Makefile | [Makefile](https://github.com/subclone/payment-processor/blob/main/pcidss/Makefile) | Makefile consists of commands to ease the development and testing. | | ||
|
||
**Additional Information** | ||
|
||
This milestone was a lot more challenging than I expected. I had to learn a lot of new things about ISO-8583 standard and deal with unmaintained packages. Parties involved in ISO-8583 are also simulated in a naive way, i.e there is only one bank that is issuing cards, so all transactions are "on-us". However, the core functionality and infrastructure that enables ISO-8583 integration with Substrate is complete. |