For authetication, service use basic authetication which laravel provided with laravel hash encryption.
There is not include parts that use bank api to withdraw or deposit money with this service. * Merchant * Customer * Payment System Admin * User, It refer to both Customer and Merchant. * Payment - a payment for goods/services that merchant send to the recipient (customer). * Problem - a problem that broke an agreement of two stakeholders which is merchant and customer.
note: we still doesn't have standard for problem. [Use case at github's wiki](https://github.com/maixezer/KUPaypal/wiki/Use-Case)
[API Specification at github's wiki](https://github.com/maixezer/KUPaypal/wiki/API-Specification)
Situation: Customer come to a web store, buy something and want to pay via this service.
1. Customer choose to pay with KUPaypal service, web store will use HTTP Post method to create a payment and redirect customer to an accept page as refer in image below. ![Alt text](https://github.com/maixezer/KUPaypal/blob/master/pic/sequenceUser.png "Optional title")
- After customer accept a payment, money doesn't transfer to merchant account immediately. Merchant need to validate a payment to retrieve his/her money.
- Alternative: If merchant found out that something wrong with payment, merchant can decline it. Payment marked as cancelled.