fix(pally): use InvId instead of custom field for order ID lookup

This commit is contained in:
2026-05-31 14:37:34 +07:00
parent b5976d0b21
commit 18f4997ca6
3 changed files with 25 additions and 26 deletions

View File

@@ -21,6 +21,7 @@ load_dotenv()
ENDPOINT = "/pally/result"
def calculate_signature(
out_sum: str,
inv_id: str,
@@ -46,25 +47,21 @@ def main():
pally_token = os.environ["PALLY_TOKEN"]
# Эти поля могут быть любыми строками — вебхук их не использует содержательно,
# только включает в подпись. Главное чтобы совпадали с тем, что пойдёт в подпись.
payment_id = "test_payment_001"
bill_id = f"test_bill_{args.bill_id}"
inv_id = str(args.bill_id)
out_sum = str(args.amount)
trs_id = f"test_trs_{args.bill_id}"
currency = "RUB"
order_id = str(args.bill_id) # order_id == id счёта в нашей БД
signature = calculate_signature(
payment_id, args.status, str(args.amount), currency, order_id, pally_token
)
signature = calculate_signature(out_sum, inv_id, pally_token)
payload = {
"id": payment_id,
"bill_id": bill_id,
"status": args.status,
"req_amount": str(args.amount),
"currency": currency,
"order_id": order_id,
"signature": signature,
"InvId": inv_id,
"OutSum": out_sum,
"Commission": "0",
"TrsId": trs_id,
"Status": args.status,
"CurrencyIn": currency,
"SignatureValue": signature,
}
print(f"{args.host}{ENDPOINT}")