HATA:
Iyzipay\Model\Payment {#1340 ▼ // app\Repositories\AppointmentRepository.php:100
-rawResult: "{"status":"failure","errorCode":"1000","errorMessage":"Geçersiz imza","locale":"tr","systemTime":1688849665367}"
-status: "failure"
-errorCode: "1000"
-errorMessage: "Geçersiz imza"
-errorGroup: null
-locale: "tr"
-systemTime: 1688849665367
-conversationId: null
-price: null
-paidPrice: null
-installment: null
-currency: null
-paymentId: null
-paymentStatus: null
-fraudStatus: null
-merchantCommissionRate: null
-merchantCommissionRateAmount: null
-iyziCommissionRateAmount: null
-iyziCommissionFee: null
-cardType: null
-cardAssociation: null
-cardFamily: null
-cardToken: null
-cardUserKey: null
-binNumber: null
-basketId: null
-paymentItems: null
-connectorName: null
-authCode: null
-phase: null
-lastFourDigits: null
-posOrderId: null
}
---------------
KOD: app\Repositories\AppointmentRepository.php
/**
* Store a newly created resource in storage.
*/
public function store(AppointmentRequest $req): JsonResponse
{
// dd($request->validated());
try {
$user = User::find(auth()->user()->id);
$user = new UserResource($user);
$data = $req->validated();
$data['user_id'] = $user->id;
$data['conversation_id'] = $req->psychologist_id;
$data['basket_id'] = 'OT#BASID' . Str::random(10);
$data['buyer_id'] = $user->id;
$data['registration_date'] = now();
$data['card_save'] = $req->card_save ? 1 : 0;
$data['invoice_full_name'] = $data['invoice_name'] . ' ' . $data['invoice_surname'];
$data['ip_address'] = $req->ip();
// Iyzico Ödeme İşlemleri
$payment = $this->iyzicoPayment($data, $user);
// dd($payment);
if (isset($payment)) {
return response()->json([
'status' => [
'code' => Response::HTTP_CREATED,
'message' => 'Randevunuz başarıyla oluşturuldu.',
],
'payment' => $payment,
], Response::HTTP_CREATED);
}
} catch (\Exception $e) {
throw new ServerErrorException('randevunuz', $e);
}
}
public function iyzicoPayment($data, $user): object
{
$options = new \Iyzipay\Options();
$options->setApiKey(config('services.iyzico.api_key'));
$options->setSecretKey(config('services.iyzico.secret_key'));
$options->setBaseUrl(config('services.iyzico.base_url'));
$request = new \Iyzipay\Request\CreatePaymentRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
// $request->setConversationId($data['conversation_id']);
$request->setPrice("1");
$request->setPaidPrice("1");
$request->setCurrency(\Iyzipay\Model\Currency::TL);
$request->setInstallment(1);
$request->setBasketId($data['basket_id']);
$request->setPaymentChannel(\Iyzipay\Model\PaymentChannel::WEB);
$request->setPaymentGroup(\Iyzipay\Model\PaymentGroup::PRODUCT);
$paymentCard = new \Iyzipay\Model\PaymentCard();
$paymentCard->setCardHolderName($data['card_name']);
$paymentCard->setCardNumber($data['card_number']);
$paymentCard->setExpireMonth($data['card_month']);
$paymentCard->setExpireYear($data['card_year']);
$paymentCard->setCvc($data['card_cvv']);
$paymentCard->setRegisterCard($data['card_save']);
$request->setPaymentCard($paymentCard);
$buyer = new \Iyzipay\Model\Buyer();
$buyer->setId($data['buyer_id']);
$buyer->setName($data['invoice_name']);
$buyer->setSurname($data['invoice_surname']);
$buyer->setGsmNumber($user->phone);
$buyer->setEmail($user->email);
$buyer->setIdentityNumber($user->identity_number);
$buyer->setLastLoginDate($user->last_activity_at);
$buyer->setRegistrationDate($data['registration_date']);
$buyer->setRegistrationAddress($data['invoice_address']);
$buyer->setIp($data['ip_address']);
$buyer->setCity($data['invoice_city']);
$buyer->setCountry("Turkey");
$buyer->setZipCode($data['invoice_zipcode']);
$request->setBuyer($buyer);
$shippingAddress = new \Iyzipay\Model\Address();
$shippingAddress->setContactName($data['invoice_full_name']);
$shippingAddress->setCity($data['invoice_city']);
$shippingAddress->setCountry("Turkey");
$shippingAddress->setAddress($data['invoice_address']);
$shippingAddress->setZipCode($data['invoice_zipcode']);
$request->setShippingAddress($shippingAddress);
$billingAddress = new \Iyzipay\Model\Address();
$billingAddress->setContactName($data['invoice_full_name']);
$billingAddress->setCity($data['invoice_city']);
$billingAddress->setCountry("Turkey");
$billingAddress->setAddress($data['invoice_address']);
$billingAddress->setZipCode($data['invoice_zipcode']);
$request->setBillingAddress($billingAddress);
$basketItems = array();
$firstBasketItem = new \Iyzipay\Model\BasketItem();
$firstBasketItem->setId($data['basket_id']);
$firstBasketItem->setName("OT Session");
$firstBasketItem->setCategory1("Session Package");
$firstBasketItem->setItemType(\Iyzipay\Model\BasketItemType::VIRTUAL);
$firstBasketItem->setPrice($data['invoice_pricing']);
$basketItems[0] = $firstBasketItem;
$request->setBasketItems($basketItems);
return \Iyzipay\Model\Payment::create($request, $options);
}