yapmak istediğim şu shopier ile ödeme alırken kullanıcı ödeme fiyatını kendisi belirleyecek bir input alanından ödeyeceği fiyatı yazıp gönder dediğinde shopier ödeme ekranında girdiği fiyatı ödeyecek. şentürk beyin ödeme ile ilgili paylaştığı kodlar var lakin o kodlar direk ödeme ekranına atıyor yardımcı olursanız sevinirim.
// Değişkene göre kendiniz düzenleyebilirsiniz.
include 'shopierAPI.php'; // İndirdiğimiz dosyada bulunan sınıfımızı dosyaya dahil ediyoruz.
$shopier = new Shopier('SHOPIER_API_KEY', 'SHOPIER_API_SECRET'); // Kendi api bilgilerinizi gireceksiniz.
$shopier->setBuyer([ // Kullanıcı bilgileri
'id' => '123456', // Sipariş kodu
'paket' => 'Eti Canga', // Paket adı
'first_name' => 'K. MERT', 'last_name' => 'ŞENTÜRK', 'email' => 'info@mertsenturk.net', 'phone' => '05555555555']); // Kullanıcının ad, soyad, telefon, email bilgileri
$shopier->setOrderBilling([
'billing_address' => 'Meclis Mahallesi Mert Caddesi No:544564', //Kullanıcının adresi
'billing_city' => 'İstanbul', // İl
'billing_country' => 'Türkiye', //Ülke
'billing_postcode' => '34000', //Posta Kodu
]);
$shopier->setOrderShipping([
'shipping_address' => 'Meclis Mahallesi Mert Caddesi No:544564', //Kullanıcının adresi
'shipping_city' => 'İstanbul', // İl
'shipping_country' => 'Türkiye', //Ülke
'shipping_postcode' => '34000', //Posta Kodu
]);
die($shopier->run('544546545', 50, 'https://mertsenturk.net/shopierNotify.php')); // Burada üç adet parametre göndermemiz gerekiyor ilk olarak paket id sonra fiyat daha sonrasında ise geri dönüş url mağazadaki girdiğiniz geri dönüş url ile aynı olması gerekiyor bu dosyamız da shopierNotfiy.php dosyamız oluyor.
?>
//Shopierdan gelen postlar.
$status = $_POST["status"];
$invoiceId = $_POST["platform_order_id"];
$transactionId = $_POST["payment_id"];
$installment = $_POST["installment"];
$signature = $_POST["signature"];
/* Bu kısımda kullanıcının işlem başarılı ve başarısızsa yönleneceği değişkenlerdir. */$url = 'https://mertsenturk.net/';
$locationtrue = $url."order?orderNo=$invoiceId";
$locationfalse = $url."order?orderNo=none";
/* Bu kısımda kullanıcının işlem başarılı ve başarısızsa yönleneceği değişkenlerdir. */$data = $_POST["random_nr"] . $_POST["platform_order_id"] . $_POST["total_order_value"] . $_POST["currency"];
$signature = base64_decode($signature);
$expected = hash_hmac('SHA256', $data, $shopierSecret, true);
if ($signature == $expected) {
$status = strtolower($status);
if ($status == "success") {
//İşlem başarılı ise yapacaklarınız
header("Location: $locationtrue");
}
else{
// İşlem başarısız ise yapacaklarınız.
header("Location: $locationfalse");
}
}
?>