diff --git a/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php b/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php index dd17e76c..6f89916b 100644 --- a/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php +++ b/app/Classes/Modules/Vouchers/Processors/Voucherify/BookingToVoucherifyProcessor.php @@ -18,6 +18,7 @@ use App\Classes\ValueObjects\Constants\VoucherifyEntityType; use App\Models\User; use App\Models\Transaction; use App\Models\Voucher; +use App\Models\VoucherCampaign; use Illuminate\Support\Facades\Log; class BookingToVoucherifyProcessor @@ -98,7 +99,7 @@ class BookingToVoucherifyProcessor $voucherify_customer_id = $redeemVoucherResult->customer->id; } - $voucher = $this->recordVoucherInfo($redeemedVoucher, $transaction); + $voucher = $this->recordVoucherInfo($redeemedVoucher); $this->createsVoucherRedemption->execute($transaction, $voucher, $redemptionId, $voucherDiscountAmount); $this->recordVoucherForUserInfo($user, $voucher); } @@ -126,9 +127,14 @@ class BookingToVoucherifyProcessor //Create records at 3 tables $voucherValue = isset($redeemedVoucher->discount->amount_off) ? $redeemedVoucher->discount->amount_off : $redeemedVoucher->discount->percent_off; $voucherType = $redeemedVoucher->discount ? $redeemedVoucher->discount->type : null; - $voucherCampaignId = isset($redeemedVoucher->campaign_id) ? $redeemedVoucher->campaign_id : null; + $voucherifyCampaignId = isset($redeemedVoucher->campaign_id) ? $redeemedVoucher->campaign_id : null; - $voucherObject= new VoucherObject($redeemedVoucher->code, isset($redeemedVoucher->metadata->name) ? $redeemedVoucher->metadata->name : "", $voucherType, $voucherValue, $voucherCampaignId); + $voucherCampaign = null; + if($voucherifyCampaignId){ + $voucherCampaign = VoucherCampaign::where('campaign_id', $voucherifyCampaignId)->first(); + } + + $voucherObject= new VoucherObject($redeemedVoucher->code, isset($redeemedVoucher->metadata->displayname) ? $redeemedVoucher->metadata->displayname : "", $voucherType, $voucherValue, $voucherCampaign ? $voucherCampaign->id : null); $voucher = $this->createsVoucher->execute($voucherObject); if(!$voucher) $voucher = $this->fetchesVoucher->execute(['code' => $voucherObject->getCode()]);