vpos_typeidentity_numbercc_no parameter must be sent in the format: “first_eight_digits + **** + last_four_digits”. For example, if cc_no is 1234567897891234, it must be sent as “12345678****1234”.expiry_monthexpiry_year cvv#!/usr/bin/env bash
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"
}
#Parameters
total=""
installment=""
currency_code=""
merchant_key=""
invoice_id=""
app_secret=""
result=$(generate_hash_key "$total" "$installment" "$currency_code" "$merchant_key" "$invoice_id" "$app_secret")
echo "$result"{
"status_code": 100,
"status_description": "Payment process successful",
"data": {
"sipay_status": 1,
"order_no": "VP17743529649617286",
"order_id": "VP17743529649617286",
"invoice_id": "insurancedeneme_1234",
"sipay_payment_method": 1,
"credit_card_no": "402278****8555",
"transaction_type": "Auth",
"payment_status": 1,
"payment_method": 1,
"error_code": 100,
"error": "Transaction Successful",
"auth_code": 138038,
"merchant_commission": 0,
"user_commission": 0,
"merchant_commission_percentage": 0,
"merchant_commission_fixed": 0,
"installment": 1,
"amount": 5,
"payment_reason_code": "",
"payment_reason_code_detail": "",
"hash_key": "7db1b34026128c62:2473:+m4__QqM8BzI7p5TqT6PAyRgePhGU6XTBJlmL__TYrDy__y77962eSGhH+BQwQ5hVKXFu+Am6nH__5oqXPwUFXGgGA==",
"original_bank_error_code": "",
"original_bank_error_description": "",
"host_reference_id": ""
}
}