Compare commits
2 Commits
2729be8d2c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60a22e1b0b | ||
|
|
68f33a3249 |
16
.env.example
Normal file
16
.env.example
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
PRIVATE_KEY=0x....
|
||||||
|
CLIENT_ID=
|
||||||
|
CLIENT_SECRET=
|
||||||
|
DEV_APP_KEY=
|
||||||
|
DEBUG=false
|
||||||
|
ITP_TOKEN_URL = https://oauth.hm.bb.com.br/oauth/token
|
||||||
|
# Url de produção com autenticação mTLS.
|
||||||
|
#ITP_API_URL="https://api-bbpay.bb.com.br/checkout/v2"
|
||||||
|
# Url de homologação com autenticação mTLS.
|
||||||
|
ITP_API_URL = "https://api-bbpay.hm.bb.com.br/checkout/v2"
|
||||||
|
# Url de homologação sem autenticação mTLS.
|
||||||
|
#ITP_API_URL = "https://api.extranet.hm.bb.com.br/checkout/v2"
|
||||||
|
|
||||||
|
# 05/08/2025
|
||||||
|
#ITP_API_URL=https://checkout.mtls.api.bb.com.br
|
||||||
|
#ITP_API_URL=https://checkout.mtls.api.hm.bb.com.br
|
||||||
24
bbpay.py
24
bbpay.py
@@ -27,15 +27,8 @@ class BBPay(Resource):
|
|||||||
|
|
||||||
self.cert = 'key.pem'
|
self.cert = 'key.pem'
|
||||||
self.verify_ssl = 'bb.pem'
|
self.verify_ssl = 'bb.pem'
|
||||||
|
self.baseUrl = getenv("ITP_API_URL")
|
||||||
# Url de homologação com autenticação mTLS.
|
self.token_url = getenv("ITP_TOKEN_URL")
|
||||||
self.baseUrl = "https://api-bbpay.hm.bb.com.br/checkout/v2"
|
|
||||||
|
|
||||||
# Url de homologação sem autenticação mTLS.
|
|
||||||
#self.baseUrl = "https://api.extranet.hm.bb.com.br/checkout/v2"
|
|
||||||
|
|
||||||
# Url de produção com autenticação mTLS.
|
|
||||||
#self.baseUrl = "https://api-bbpay.bb.com.br/checkout/v2"
|
|
||||||
|
|
||||||
self.params = {
|
self.params = {
|
||||||
'numeroConvenio': 701,
|
'numeroConvenio': 701,
|
||||||
@@ -48,7 +41,7 @@ class BBPay(Resource):
|
|||||||
'checkout.participantes-info']
|
'checkout.participantes-info']
|
||||||
|
|
||||||
self.oauth.fetch_token(
|
self.oauth.fetch_token(
|
||||||
token_url='https://oauth.hm.bb.com.br/oauth/token',
|
token_url=self.token_url,
|
||||||
client_id=getenv("CLIENT_ID"),
|
client_id=getenv("CLIENT_ID"),
|
||||||
client_secret=getenv("CLIENT_SECRET"), scope=self.scope)
|
client_secret=getenv("CLIENT_SECRET"), scope=self.scope)
|
||||||
|
|
||||||
@@ -75,6 +68,8 @@ class Register(BBPay):
|
|||||||
json=body,
|
json=body,
|
||||||
verify=self.verify_ssl,
|
verify=self.verify_ssl,
|
||||||
cert=self.cert)
|
cert=self.cert)
|
||||||
|
if response.status_code != 201:
|
||||||
|
return 'Upstream error', response.status_code
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
class Request(BBPay):
|
class Request(BBPay):
|
||||||
@@ -85,7 +80,8 @@ class Request(BBPay):
|
|||||||
"numeroConvenio": 701,
|
"numeroConvenio": 701,
|
||||||
"pagamentoUnico": True,
|
"pagamentoUnico": True,
|
||||||
"descricaoSolicitacao": "P2Pix",
|
"descricaoSolicitacao": "P2Pix",
|
||||||
"valorSolicitacao": data['amount']
|
"valorSolicitacao": data['amount'],
|
||||||
|
"codigoConciliacaoSolicitacao": data['lockid']
|
||||||
},
|
},
|
||||||
# "devedor": {
|
# "devedor": {
|
||||||
# "tipoDocumento": 1,
|
# "tipoDocumento": 1,
|
||||||
@@ -106,6 +102,8 @@ class Request(BBPay):
|
|||||||
json=body,
|
json=body,
|
||||||
verify=self.verify_ssl,
|
verify=self.verify_ssl,
|
||||||
cert=self.cert)
|
cert=self.cert)
|
||||||
|
if response.status_code != 201:
|
||||||
|
return 'Upstream error', response.status_code
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
class Release(BBPay):
|
class Release(BBPay):
|
||||||
@@ -143,7 +141,6 @@ class Release(BBPay):
|
|||||||
'signature': f"0x{signature}"
|
'signature': f"0x{signature}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# (CPF, nome, conta) -> participantID
|
# (CPF, nome, conta) -> participantID
|
||||||
# should be called before deposit
|
# should be called before deposit
|
||||||
api.add_resource(Register, '/register')
|
api.add_resource(Register, '/register')
|
||||||
@@ -156,7 +153,6 @@ api.add_resource(Request, '/request')
|
|||||||
# should be called before release
|
# should be called before release
|
||||||
api.add_resource(Release, '/release/<int:numeroSolicitacao>')
|
api.add_resource(Release, '/release/<int:numeroSolicitacao>')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
if getenv("DEBUG"):
|
if getenv("DEBUG"):
|
||||||
disable_warnings()
|
disable_warnings()
|
||||||
@@ -164,5 +160,3 @@ if __name__ == '__main__':
|
|||||||
else:
|
else:
|
||||||
from waitress import serve
|
from waitress import serve
|
||||||
serve(app, host=getenv("HOST","0.0.0.0"), port=getenv("PORT",5000))
|
serve(app, host=getenv("HOST","0.0.0.0"), port=getenv("PORT",5000))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user