SNAP di Pyramid
Ini adalah landasan untuk penerapan SNAP di web framework Pyramid.
Kita bisa memasangnya langsung dengan cara:
$ ~/env/bin/pip install git+https://git.opensipkd.com/sugiana/pyramid-snap
Jika Anda ingin mengembangkannya maka unduh terlebih dahulu:
$ git clone https://git.opensipkd.com/sugiana/pyramid-snap $ cd pyramid-snap $ ~/env/bin/pip install -e .[dev]
Lakukan uji coba:
$ cd tests $ ~/env/bin/pytest
Server
Merujuk pada dokumentasi Standar Keamanan SNAP maka client harus membuat private key dan public key. Private key digunakan client untuk meng-encrypt signature:
$ openssl genrsa -out private.pem 2048
Public key digunakan server untuk memvalidasi signature:
$ openssl rsa -in private.pem -pubout -out public.pem
Di paket ini kedua file tersebut sudah disediakan. Jalankan server uji coba:
$ cd pyramid-snap/example/server $ ~/env/bin/pserve development.ini
Nanti dia listen di port 6543. Selanjutnya buka terminal lain untuk menjalankan client:
$ cd pyramid-snap/example/client $ ~/env/bin/python create_va --private-file=../server/private.pem
Web server tadi adalah simulator Winpay server. Jadi kita juga bisa mengujinya dengan Winpay Client:
$ ~/env/bin/winpay_create_va --private-file=../server/private.pem \ --partner-id=1234 --customer-no=08123456789 --va-name="Iwan Gunawan" \ --amount=10000 --channel=MANDIRI \ --url=http://localhost:6543/v1.0/transfer-va/create-va
Semoga dipahami.