https://github.com/aamirmousavi/iran-bank-gateway
https://github.com/aamirmousavi/iran-bank-gateway
banking behpardakht gateways idpay mellat mellat-bank novinpal persian
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/aamirmousavi/iran-bank-gateway
- Owner: aamirmousavi
- License: apache-2.0
- Created: 2024-04-08T11:23:10.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-22T11:19:53.000Z (about 1 year ago)
- Last Synced: 2024-04-22T12:02:27.419Z (about 1 year ago)
- Topics: banking, behpardakht, gateways, idpay, mellat, mellat-bank, novinpal, persian
- Language: Go
- Homepage:
- Size: 32.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Iran Bank Gateway
## Contents
- [Gateways](#gateways)
- [Behpardakht Mellat](#behpardakht-mellat)
- [Idpay](https://github.com/aamirmousavi/iran-bank-gateway/blob/master/_example/idpay.go)
- [Novinpal](https://github.com/aamirmousavi/iran-bank-gateway/blob/master/_example/novinpal.go)
- [Parsian](https://github.com/aamirmousavi/iran-bank-gateway/blob/master/_example/parsian.go)
- [Zarinpal](https://github.com/aamirmousavi/iran-bank-gateway/blob/master/_example/zarinpal.go)
- [Sep](https://github.com/aamirmousavi/iran-bank-gateway/blob/master/_example/sep.go)
- [TODO](#todo)
## Gateways
[Examples](https://github.com/aamirmousavi/iran-bank-gateway/tree/master/_example)
### Behpardakht example
```go
package exampleimport (
"log""github.com/aamirmousavi/iran-bank-gateway/behpardakht"
)type behpardakhtUserPass struct {
username, password string
}func (beh *behpardakhtUserPass) GetIdentityData() (string, string, error) {
return beh.username, beh.password, nil
}func Behpardakh() {
userPass := &behpardakhtUserPass{
username: "", // behpardakh username
password: "", // behpardakht password
}
behpardakhtInstance := behpardakht.New(userPass)// payment (Request for terminal)
statusCode, paymentResponse, err := behpardakhtInstance.Payment(
behpardakht.NewPaymentRequest(
"1", // order id
1_000_000, //amount
"/callback", // callback
"1", // payer id (user id)
),
)
if err != nil {
log.Fatalf("err = %v\n", err)
}
if paymentResponse.ResponseCode != behpardakht.Success {
log.Fatalf("response = %#v\n", paymentResponse)
}
log.Printf("payment status code is = %v\n", statusCode)// verify (verify a transaction)
statusCode, verifyResponse, err := behpardakhtInstance.Verify(
behpardakht.NewVerifyRequest(
"1", // order id
"SaleOrderId", // SaleOrderId PostForm parameter in callback
"SaleReferenceId", // SaleReferenceId PostForm parameter in callback
),
)
if err != nil {
log.Fatalf("err = %v\n", err)
}
if verifyResponse.ResponseCode != behpardakht.Success {
log.Fatalf("response = %#v\n", verifyResponse)
}
log.Printf("verify status code is = %v\n", statusCode)}
```## TODO
- [x] Behpardakht Mellat
- [x] Idpay
- [x] Novinpal
- [x] Zarinpal
- [x] SEP Saman
- [ ] Parsian
- [ ] Saderat
- [ ] Pasargad