Tarlanpayments
Қаз
Қаз
  • Төлем шлюзі
    • Жалпы ақпарат
      • Төлемді жүргізу құрылымы
      • Екі сатылы төлем жүргізу құрылымы
      • Операциялардың түрлері
      • 3D-Secure
      • PCI DSS
    • Транзакция түрлері
    • Жүйе жауаптарының құрылымы
    • Қате кодтары
    • Транзакциялар мәртебелері
    • Қолтаңбаны қалыптастыру
    • Қосымша параметрлер
    • Төлем нысанымен өзара іс-қимыл
      • Ақша қаражатын қабылдауға бастамашылық жасау
      • Ақша қаражатын шығаруға бастамашылық жасау
      • Картаны байластыру
      • Iframe
    • Төлем нысанынсыз төлемдер
      • One click
    • Көмекші әдістер
      • Байластырылған пайдаланушы картасын жою
      • Транзакция мәртебесін тексеру
      • Карталар тізімін алу
      • Төлемді қайтару
      • Жоғарғы комиссияның есебі
    • Smart Pay
      • Google pay
    • Төлем жүйесінің Webhook
      • Төлем мәртебесі
      • Ақы төлеуді жүргізуге әзірлік
    • CMS
      • Tilda Publishing
    • Өзгерістер жиынтығы
  • AGWS
    • Жүйе жауаптарының құрылымы
      • Қолтаңбаны қалыптастыру
        • Golang-та қолтаңбаны қалыптастыру мысалы:
        • python3-тегі қолтаңбаны қалыптастыру мысалы:
      • [POST] /showcase-gateway/api/v1/test/check
        • Parameters
        • Responses
      • [POST] /showcase-gateway/api/v1/test/cash-in
        • Parameters
        • Responses
    • [POST] /showcase-gateway/api/v1/test/status
      • Responses
      • Parameters
    • Транзакция мәртебелерінің анықтамалығы
    • Аккаунт күйі кодтарының анықтамалығы
    • Қате кодтары
Powered by GitBook
On this page
  1. AGWS
  2. Жүйе жауаптарының құрылымы
  3. Қолтаңбаны қалыптастыру

Golang-та қолтаңбаны қалыптастыру мысалы:

package main

import (
   "crypto/sha256"
   "encoding/base64"
   "encoding/json"
//Сауал денесі сауалға байланысты өзгереді

type Request struct {
   Agent       string `json:"agent"`
   Project     string `json:"project"`
   ServiceCode string `json:"service_code"`
}
//Мысал үшін secret 12345
const secret = "12345"

func main() {
   request := Request{
      Agent:       "tarlan",
      Project:     "mobile",
      ServiceCode: "101",
   }

   notSortedJson, err := json.Marshal(&request)
   if err != nil {
      panic(err)
   }

   var notSortedMap map[string]interface{}

   if err = json.Unmarshal(notSortedJson, &notSortedMap); err != nil {
      panic(err)
   }

   sortedJson, err := json.Marshal(&notSortedMap)
   if err != nil {
      panic(err)
   }

   signData := base64.StdEncoding.EncodeToString(sortedJson)

   sign := sha256.Sum256([]byte(signData + secret))

   fmt.Printf("Sign: %x", sign)
}