Cara menerima pembayaran di Telegram | API Python Yoomoney

Dalam posting ini, kita akan belajar bagaimana menerima pembayaran di bot Telegram menggunakan API Yoomoney.





pengantar

Pertama-tama, saya baru-baru ini ingin membuat toko barang elektronik di Telegram. Dan saya mengalami masalah bahwa pada saat bekerja tidak ada solusi yang siap pakai. Saya ingin menerima pembayaran tanpa pengusaha individu dan semua gerakan ini. Oleh karena itu, pilihan saya adalah antara Qiwi dan Yoomoney (sebelumnya Yandex Money). Saya sendiri dari Belarusia ... Oleh karena itu, lebih mudah mendapatkan akun "Identifikasi" dari Yoomoney.





Hasilnya, saya membuat perpustakaan yoomoney untuk Python.





Jika postingan ini membantu Anda, harap bintangi di GitHub . Saya akan sangat senang!





Deskripsi

  • Kami mendapatkan tokennya





  • Memeriksa token





  • Bagaimana menerbitkan faktur untuk pembayaran





  • Verifikasi pembayaran





Kami mendapatkan tokennya

Untuk menggunakan Yoomoney API, Anda perlu mendapatkan token khusus. Pertama-tama, kami mendaftarkan aplikasinya:





1.  Buka dompet YuMoney. Jika tidak ada dompet,  buatlah .





2.  Buka halaman  Pendaftaran Aplikasi .





3.  Tentukan parameter aplikasi:





4.  Klik tombol  Konfirmasi .





  , , (client_id) , , (client_secret).





!





client_id redirect_uri, .





: . .





pip install yoomoney





from yoomoney import Authorize

Authorize(
      client_id="YOUR_CLIENT_ID",
      redirect_uri="YOUR_REDIRECT_URI",
      scope=["account-info",
             "operation-history",
             "operation-details",
             "incoming-transfers",
             "payment-p2p",
             "payment-shop",
             ]
      )
      
      



! !





YOUR_TOKEN :





from yoomoney import Client
token = "YOUR_TOKEN"
client = Client(token)
user = client.account_info()
print("Account number:", user.account)
print("Account balance:", user.balance)
print("Account currency code in ISO 4217 format:", user.currency)
print("Account status:", user.account_status)
print("Account type:", user.account_type)
print("Extended balance information:")
for pair in vars(user.balance_details):
    print("\t-->", pair, ":", vars(user.balance_details).get(pair))
print("Information about linked bank cards:")
cards = user.cards_linked
if len(cards) != 0:
    for card in cards:
        print(card.pan_fragment, " - ", card.type)
else:
    print("No card is linked to the account")
      
      



:





Account number: 410019014512803
Account balance: 999999999999.99
Account currency code in ISO 4217 format: 643
Account status: identified
Account type: personal
Extended balance information:
   --> total : 999999999999.99
   --> available : 999999999999.99
   --> deposition_pending : None
   --> blocked : None
   --> debt : None
   --> hold : None
Information about linked bank cards:
No card is linked to the account
      
      



! .





Quickpay.





from yoomoney import Quickpay
quickpay = Quickpay(
            receiver="410019014512803",
            quickpay_form="shop",
            targets="Sponsor this project",
            paymentType="SB",
            sum=150,
            )
print(quickpay.base_url)
print(quickpay.redirected_url)
      
      



:





https://yoomoney.ru/quickpay/confirm.xml?receiver=410019014512803&quickpay-form=shop&targets=Sponsor%20this%20project&paymentType=SB&sum=150
https://yoomoney.ru/transfer/quickpay?requestId=343532353937313933395f66326561316639656131626539326632616434376662373665613831373636393537613336383639
      
      



. . .





Formulir pembayaran

, .





: , ?

label - , . ,   .





:





from yoomoney import Quickpay
quickpay = Quickpay(
            receiver="410019014512803",
            quickpay_form="shop",
            targets="Sponsor this project",
            paymentType="SB",
            sum=150,
            lebel="a1b2c3d4e5"
            )
print(quickpay.base_url)
print(quickpay.redirected_url)
      
      



.





Client.





Mengetahui label transaksi, kita dapat memfilter riwayat transaksi dompet. Cukup beri label di client.operation_history ():





from yoomoney import Client
token = "YOUR_TOKEN"
client = Client(token)
history = client.operation_history(label="a1b2c3d4e5")
print("List of operations:")
print("Next page starts with: ", history.next_record)
for operation in history.operations:
    print()
    print("Operation:",operation.operation_id)
    print("\tStatus     -->", operation.status)
    print("\tDatetime   -->", operation.datetime)
    print("\tTitle      -->", operation.title)
    print("\tPattern id -->", operation.pattern_id)
    print("\tDirection  -->", operation.direction)
    print("\tAmount     -->", operation.amount)
    print("\tLabel      -->", operation.label)
    print("\tType       -->", operation.type)
      
      



Hasilnya, kami mendapatkan daftar semua operasi untuk filter kami:





List of operations:
Next page starts with:  None
Operation: 670278348725002105
  Status     --> success
  Datetime   --> 2021-10-10 10:10:10
  Title      -->    ****4487
  Pattern id --> None
  Direction  --> in
  Amount     --> 150.0
  Label      --> a1b2c3d4e5
  Type       --> deposition
      
      



Sekarang kami tahu apakah pembayaran berhasil.





Segala sesuatu! Tidak ada lagi yang dibutuhkan untuk menerima pembayaran.





Kesimpulan

Jika postingan ini membantu Anda, harap bintangi di GitHub . Saya akan sangat senang!








All Articles