Merhabalar bir konu da takılmış bulunmaktayım.Sistemi anlatayım matbaalar ve üyeleri birleştiren bir sistem yazıyorum.
Üyeler baskı için ilan veriyor , matbaalar ilanlara ücret veriyorlar kullanıcı ücreti onaylıyor ve ödemeye geçiyor.
Şimdi iyzico pazaryeri ile çalışıyorum. Alt üye iş yerlerini matbaalar kayıt olunca otomotik observer yardımı ile kayıt ediyorum.Buraya kadar sorun yok ödeme başarılı gözüküyor. Şimdi sıkıntım burada Onay işlemini yapmam lazım ama
paymentTransactionId yi nasıl veritabanına kayıt etmem gerekiyor. iyzico tarafından üretilen diyor oda tamam bunu nasıl çekiceğim. Yararlandığım kaynak .
https://dev.iyzipay.com/tr/pazaryeri/onay-verme
Onay , iade , iptal için bu değeri almam gerekiyor.
`$request = new CreateSubMerchantRequest();
$request->setLocale(Locale::TR);
$request->setConversationId(uniqid());
$request->setSubMerchantExternalId($company->id);
$request->setAddress($company->address);
$request->setIban($company->iban);
$request->setCurrency(Currency::TL);
$request->setEmail($company->user->email);
$request->setGsmNumber($company->phone);
$request->setName($company->name);
switch ($company->type) {
case 1:
$request->setSubMerchantType(SubMerchantType:😛ERSONAL);
$request->setContactName($company->user->firstName);
$request->setContactSurname($company->user->lastName);
$request->setIdentityNumber($company->tc);
break;
case 2:
$request->setSubMerchantType(\Iyzipay\Model\SubMerchantType::PRIVATE_COMPANY);
$request->setTaxOffice($company->tax_admins);
$request->setLegalCompanyTitle($company->legal_company_title);
$request->setIdentityNumber($company->tc);
break;
case 3:
$request->setSubMerchantType(\Iyzipay\Model\SubMerchantType::LIMITED_OR_JOINT_STOCK_COMPANY);
$request->setTaxOffice($company->tax_admins);
$request->setTaxNumber($company->tax_number); // nullable
$request->setLegalCompanyTitle($company->legal_company_title);
break;
default:
Log::critical(__('Error! Company type is not supported.'));
break;
}
$subMerchant = SubMerchant::create($request, $options);
if($subMerchant->getStatus() == "failure")
{
$msg = 'Iyzico Submerchant could not be created. Company: '.$company->name;
$msg .= ' Error code: '.$subMerchant->getErrorCode();
$msg .= ' Error message: '.$subMerchant->getErrorMessage();
Log::alert($msg);
}
if($subMerchant->getStatus() == "success")
{
$msg = 'Iyzico Submerchant created successfully. Company: '.$company->name;
$msg .= ' subMerchantKey: '.$subMerchant->getSubMerchantKey();
Log::notice($msg);
}
return $subMerchant;
}`
OBSERVER İSE
`class CompanyObserver
{
public function created(Company $company)
{
$merchant = IyziSubMerchant::create($company);
$company->sub_merchant_key = $merchant->getSubMerchantKey();
$company->conversationId = $merchant->getConversationId();
$company->update();
}
}`
Bu arada kod blogunun arasına yazmama rağmen böyle gözüküyor. Kusura bakmayın.