🔥یلدا با راکت با (( ۷۰ درصد )) تخفیف! یلدا طولانی است، اما این تخفیف نه.
مشاهده دورههاسلام دوستان من برای تست درگاه توی php از payping استفاده کردم
طبق مستندات کدهارو نوشتم و توکن هم ایجاد کردم ولی وقتی روی پرداخت میزنم صفحه سفید نمایش میده
payment.php
<?php
/* دریافت مبلغ از فرم ساخته شده. */
$price = intval( $_POST['price'] );
/* clientRefId: در صورت استفاده در حالت غیر دمو بهتر است شماره فاکتور در نظر گرفته شود. */
if( isset( $_POST['clientRefId'] ) ){
$clientRefId = $_POST['clientRefId'];
}else{
$clientRefId = "example@gmail.com";
}
/* payerIdentity: شماره موبایل باشد، در غیر اینصورت ایمیل استفاده شود. */
if( isset( $_POST['Mobile'] ) ){
$payerIdentity = $_POST['Mobile'];
}elseif( isset( $_POST['clientRefId'] ) ){
$payerIdentity = $_POST['clientRefId'];
}else{
$payerIdentity = time();
}
if( isset( $_POST['Description']) ){
$desc = $_POST['Description'];
}else{
$desc = '';
}
/* توکن دریافتی از سایت payping.ir | بجای Token توکن خود را قرار دهید. */
$TokenCode = "989lkhE6AnlNvF895iD-Q4Eqs3M77fPhgssot3LOYRAUro";
/* آدرس صفحه برگشت کاربر بعد از صفحه پرداخت | بجای domain.com آدرس سایت خود را قرار دهید. */
$returnUrl = "htps://localhost/verify.php";
$data = array(
'clientRefId' => $clientRefId,
'payerIdentity' => $payerIdentity,
'price' => $price,
'Description' => $desc,
'returnUrl' => $returnUrl
);
try{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.payping.ir/v2/pay",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 45,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Bearer " . $TokenCode,
"cache-control: no-cache",
"content-type: application/json"
),
)
);
$response = curl_exec( $curl );
$header = curl_getinfo( $curl );
$err = curl_error( $curl );
curl_close( $curl );
if( $err ){
$msg = 'کد خطا: CURL#' . $er;
$erro = 'در اتصال به درگاه مشکلی پیش آمد.';
return false;
}else{
if( $header['http_code'] == 200 ){
$response = json_decode( $response, true );
if( isset( $response ) and $response != '' ){
$response = $response['code'];
/* ارسال به درگاه پرداخت با استفاده از کد ارجاع */
$GoToIPG = 'https://api.payping.ir/v2/pay/gotoipg/' . $response;
header( 'Location: ' . $GoToIPG );
}else{
$msg = 'تراکنش ناموفق بود - شرح خطا: عدم وجود کد ارجاع';
}
}elseif($header['http_code'] == 400){
$msg = 'تراکنش ناموفق بود، شرح خطا: ' . $response;
}else{
$msg = 'تراکنش ناموفق بود، شرح خطا: ' . $header['http_code'];
}
}
}catch(Exception $e){
$msg = 'تراکنش ناموفق بود، شرح خطا سمت برنامه شما: ' . $e->getMessage();
}
verify.php
<?php
if( isset( $_POST['refid'] ) ){
$refid = $_POST['refid'];
}else{
$refid = 0;
}
/* بجای 1000 مبلغ پرداختی خود را قرار دهید، به تومان */
$Amount = 1000; // toman
/* توکن دریافتی از سایت payping.ir | بجای Token توکن خود را قرار دهید. */
$TokenCode = "Token";
$data = array(
'amount' => $Amount,
'refId' => $refid
);
try{
$curl = curl_init();
curl_setopt_array( $curl, array(
CURLOPT_URL => "https://api.payping.ir/v2/pay/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 45,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Bearer " . $TokenCode,
"cache-control: no-cache",
"content-type: application/json",
),
) );
$response = curl_exec( $curl );
$err = curl_error( $curl );
$header = curl_getinfo( $curl );
curl_close( $curl );
if($err){
$msg = 'خطا در ارتباط به پیپینگ :شرح خطا' . $err;
}else{
if($header['http_code'] == 200){
$response = json_decode( $response, true );
if( isset($refid) and $refid != '' ){
$msg = ' تراکنش موفق بود: ' . $refid;
$outp['msg'] = $msg;
}else{
$msg = 'متافسانه سامانه قادر به دریافت کد پیگیری نمیباشد! نتیجه درخواست: ' . $header['http_code'];
}
}elseif($header['http_code'] == 400){
$msg = ' تراکنش ناموفق بود، شرح خطا: ' . $response;
$outp['msg'] = $msg;
}else{
$msg = ' تراکنش ناموفق بود، شرح خطا: ' . $header['http_code'];
}
}
}catch( Exception $e ){
$msg = ' تراکنش ناموفق بود، شرح خطا سمت برنامه شما: ' . $e->getMessage();
} ?>
<html>
<head>
<title>وضعیت پرداخت درگاه پرداخت پیپینگ</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
*{
box-sizing: border-box;
}
body{
font-family: tahoma;
font-size: 14px;
direction: rtl;
}
.alert{
width: 320px;
font-family: tahoma;
margin: auto;
background-color: #172b4d;
color: #fff;
line-height: 2;
text-align: justify;
padding: 15px;
}
</style>
</head>
<body>
<div class="alert">
<?php echo $msg; ?>
</div>
</body>
</html>
cart.php
<?php
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo '<div>';
echo '<p>نام محصول: ' . $row["name"] . '</p>';
echo '<p>قیمت: ' . $row["price"] . '</p>';
echo '<p>تعداد: ' . $row["quantity"] . '</p>';
echo '</div>';
echo '<form action="payment.php" method="POST">';
echo '<input type="hidden" name="price" value="' . $row["price"] . '">';
echo '<input type="submit" name="pay" value="پرداخت">';
echo '</form>';
}
} else {
echo '<p>سبد خرید شما خالی است.</p>';
}
?>
جدول کارت
1 id Primary int(11) No None AUTO_INCREMENT Change Change Drop Drop
2 quantity int(11) No None Change Change Drop Drop
3 product_id int(11) No None Change Change Drop Drop
4 user_id int(11) No None
جدول محصول
1 id Primary int(11) No None AUTO_INCREMENT Change Change Drop Drop
2 name varchar(255) utf8mb4_general_ci No None Change Change Drop Drop
3 oldprice int(11) No None Change Change Drop Drop
4 price int(11) No None Change Change Drop Drop
5 discount int(11) No None Change Change Drop Drop
6 inventory int(11) No None Change Change Drop Drop
7 image varchar(255) utf8mb4_general_ci No None Change Change Drop Drop
8 cat_name varchar(255) utf8mb4_general_ci No None Change Change Drop Drop
9 tag varchar(255) utf8mb4_general_ci No None Change Change Drop Drop
10 serial_number varchar(255) utf8mb4_general_ci
لطفا راهنمایی کنید دوستان
برای سفارشات هنوز جدولی نساختم
</body></html>
به Paradox کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟