transaction_type parametresi PreAuth olarak gönderilmelidir.payment_completed_by parametresi gönderilmezse, sistem değeri otomatik olarak app olarak kabul eder ve işlemi buna göre devam ettirir.payment_completed_by Değeri "Merchant" Olarak Gönderildiğindemd_status değeri 1 olarak döner.generate_hash_key() {
local total="$1"
local installment="$2"
local currency_code="$3"
local merchant_key="$4"
local invoice_id="$5"
local app_secret="$6"
local data="${total}|${installment}|${currency_code}|${merchant_key}|${invoice_id}"
local rand1
rand1=$(openssl rand -hex 16)
local iv
iv=$(printf "%s" "$rand1" | openssl sha1 | awk '{print $2}' | cut -c1-16)
local password
password=$(printf "%s" "$app_secret" | openssl sha1 | awk '{print $2}')
local rand2
rand2=$(openssl rand -hex 16)
local salt
salt=$(printf "%s" "$rand2" | openssl sha1 | awk '{print $2}' | cut -c1-4)
local salt_with_password
salt_with_password=$(printf "%s" "${password}${salt}" | openssl sha256 | awk '{print $2}' | cut -c1-32)
local key_hex
key_hex=$(printf "%s" "$salt_with_password" | xxd -p -c 256)
local iv_hex
iv_hex=$(printf "%s" "$iv" | xxd -p -c 256)
local encrypted_base64
encrypted_base64=$(printf "%s" "$data" | openssl enc -aes-256-cbc -K "$key_hex" -iv "$iv_hex" -base64)
local msg_encrypted_bundle="${iv}:${salt}:${encrypted_base64}"
msg_encrypted_bundle="${msg_encrypted_bundle//\//__}"
echo "$msg_encrypted_bundle"
}
total="100"
installment="1"
currency_code="TRY"
merchant_key="merchant_key"
invoice_id="invoice_id"
app_secret="app_secret"
result=$(generate_hash_key "$total" "$installment" "$currency_code" "$merchant_key" "$invoice_id" "$app_secret")
echo "$result"{
"sipay_status": "1",
"order_no": "VP1776849645922312",
"order_id": "VP1776849645922312",
"invoice_id": "XV7YO2ADFXZANAF-1776849645",
"status_code": "100",
"status_description": "Payment Successfully Completed",
"sipay_payment_method": "1",
"credit_card_no": "554960****6017",
"transaction_type": "Pre-Authorization",
"payment_status": "1",
"payment_method": "1",
"error_code": "100",
"error": "Payment Successfully Completed",
"auth_code": "1234456",
"merchant_commission": "0.02",
"user_commission": "0",
"merchant_commission_percentage": "1",
"merchant_commission_fixed": "0",
"installment": "1",
"amount": "2",
"payment_reason_code": null,
"payment_reason_code_detail": null,
"hash_key": "a1111f9ee22ee8db:b8eb:BoR1Nc3eYPpi9oa7r2KkUxOKeBdq3QA4pLiwAMQphd__W5t+PaLSKn1FJ+hAgakz4v5koPQkSDKFKFJFJD3404857fnGWG9WV3L3sOIw==",
"md_status": "1",
"original_bank_error_code": null,
"original_bank_error_description": null,
"host_reference_id": null,
"authorization_expires_at": "2026-05-15T10:00:00Z",
"authorization_duration_days": 30
}