/** * @param CurrencyEntity $currency * @return Currency */ public static function createFromCurrencyEntity(CurrencyEntity $currency) { $struct = new self(); $struct->setId($currency->getId()); $struct->setName($currency->getName()); $struct->setCurrency($currency->getCurrency()); $struct->setFactor($currency->getFactor()); $struct->setSymbol($currency->getSymbol()); return $struct; }
/** * Build a payment entity based on a json-decoded payment stdClass * * @param stdClass $response The payment data * @return Syspay_Merchant_Entity_Payment The payment object */ public static function buildFromResponse(stdClass $response) { $chargeback = new self(); $chargeback->setId(isset($response->id) ? $response->id : null); $chargeback->setStatus(isset($response->status) ? $response->status : null); $chargeback->setAmount(isset($response->amount) ? $response->amount : null); $chargeback->setCurrency(isset($response->currency) ? $response->currency : null); $chargeback->setReasonCode(isset($response->reason_code) ? $response->reason_code : null); if (isset($response->processing_time) && !is_null($response->processing_time)) { $chargeback->setProcessingTime(Syspay_Merchant_Utils::tsToDateTime($response->processing_time)); } if (isset($response->payment)) { $chargeback->setPayment(Syspay_Merchant_Entity_Payment::buildFromResponse($response->payment)); } return $chargeback; }
/** * Build a payment entity based on a json-decoded payment stdClass * * @param stdClass $response The payment data * @return Syspay_Merchant_Entity_Payment The payment object */ public static function buildFromResponse(stdClass $response) { $refund = new self(); $refund->setId(isset($response->id) ? $response->id : null); $refund->setReference(isset($response->reference) ? $response->reference : null); $refund->setAmount(isset($response->amount) ? $response->amount : null); $refund->setCurrency(isset($response->currency) ? $response->currency : null); $refund->setStatus(isset($response->status) ? $response->status : null); $refund->setExtra(isset($response->extra) ? $response->extra : null); $refund->setDescription(isset($response->description) ? $response->description : null); if (isset($response->processing_time) && !is_null($response->processing_time)) { $refund->setProcessingTime(Syspay_Merchant_Utils::tsToDateTime($response->processing_time)); } if (isset($response->payment)) { $refund->setPayment(Syspay_Merchant_Entity_Payment::buildFromResponse($response->payment)); } return $refund; }
/** * @param \stdClass $data * * @return Promotion */ public static function createFromStdClass(\stdClass $data) { $promotion = new self(); $promotion->setId($data->id)->setAlias($data->alias)->setName($data->name)->setType($data->type)->setDescription($data->description)->setNeedProof($data->need_proof)->setOrganizationOwnerId($data->organization_owner_id); if ($data->coupon !== null) { $promotion->setCoupon(Coupon::createFromStdClass($data->coupon)); } if ($data->bonus_program !== null) { $promotion->setBonusProgram(Bonus::createFromStdClass($data->bonus_program)); } if ($data->discount !== null) { $promotion->setDiscount(Discount::createFromStdClass($data->discount)); } if ($data->currency !== null) { $promotion->setCurrency(Currency::createFromStdClass($data->currency)); } if ($data->expires_at !== null) { $promotion->setExpiresAt((new \DateTime(null, new \DateTimeZone('UTC')))->setTimestamp($data->expires_at)); } foreach ($data->organizations as $organizationData) { $promotion->addOrganization(Organization::createFromStdClass($organizationData)); } return $promotion; }
/** * Build a payment entity based on a json-decoded payment stdClass * * @param stdClass $response The payment data * @return Syspay_Merchant_Entity_Payment The payment object */ public static function buildFromResponse(stdClass $response) { $payment = new self(); $payment->setId(isset($response->id) ? $response->id : null); $payment->setReference(isset($response->reference) ? $response->reference : null); $payment->setAmount(isset($response->amount) ? $response->amount : null); $payment->setCurrency(isset($response->currency) ? $response->currency : null); $payment->setStatus(isset($response->status) ? $response->status : null); $payment->setExtra(isset($response->extra) ? $response->extra : null); $payment->setDescription(isset($response->description) ? $response->description : null); $payment->setWebsite(isset($response->website) ? $response->website : null); $payment->setFailureCategory(isset($response->failure_category) ? $response->failure_category : null); $payment->setChipAndPinStatus(isset($response->chip_and_pin_status) ? $response->chip_and_pin_status : null); $payment->setPaymentType(isset($response->payment_type) ? $response->payment_type : null); $payment->setWebsiteUrl(isset($response->website_url) ? $response->website_url : null); $payment->setContract(isset($response->contract) ? $response->contract : null); $payment->setDescriptor(isset($response->descriptor) ? $response->descriptor : null); $payment->setAccountId(isset($response->account_id) ? $response->account_id : null); $payment->setMerchantLogin(isset($response->merchant_login) ? $response->merchant_login : null); $payment->setMerchantId(isset($response->merchant_id) ? $response->merchant_id : null); if (isset($response->settlement_date) && !is_null($response->settlement_date)) { $payment->setSettlementDate(Syspay_Merchant_Utils::tsToDateTime($response->settlement_date)); } if (isset($response->processing_time) && !is_null($response->processing_time)) { $payment->setProcessingTime(Syspay_Merchant_Utils::tsToDateTime($response->processing_time)); } if (isset($response->billing_agreement) && $response->billing_agreement instanceof stdClass) { $billingAgreement = Syspay_Merchant_Entity_BillingAgreement::buildFromResponse($response->billing_agreement); $payment->setBillingAgreement($billingAgreement); } if (isset($response->subscription) && $response->subscription instanceof stdClass) { $subscription = Syspay_Merchant_Entity_Subscription::buildFromResponse($response->subscription); $payment->setSubscription($subscription); } if (isset($response->payment_method) && $response->payment_method instanceof stdClass) { $paymentMethod = Syspay_Merchant_Entity_PaymentMethod::buildFromResponse($response->payment_method); $payment->setPaymentMethod($paymentMethod); } $payment->raw = $response; return $payment; }
/** * Build a billing agreement entity based on a json-decoded billing agreement stdClass * * @param stdClass $response The billing agreement data * @return Syspay_Merchant_Entity_BillingAgreement The billing agreement object */ public static function buildFromResponse(stdClass $response) { $billingAgreement = new self(); $billingAgreement->setId(isset($response->id) ? $response->id : null); $billingAgreement->setStatus(isset($response->status) ? $response->status : null); $billingAgreement->setCurrency(isset($response->currency) ? $response->currency : null); $billingAgreement->setExtra(isset($response->extra) ? $response->extra : null); $billingAgreement->setEndReason(isset($response->end_reason) ? $response->end_reason : null); if (isset($response->expiration_date) && !is_null($response->expiration_date)) { $billingAgreement->setExpirationDate(Syspay_Merchant_Utils::tsToDateTime($response->expiration_date)); } if (isset($response->payment_method) && $response->payment_method instanceof stdClass) { $paymentMethod = Syspay_Merchant_Entity_PaymentMethod::buildFromResponse($response->payment_method); $billingAgreement->setPaymentMethod($paymentMethod); } if (isset($response->customer) && $response->customer instanceof stdClass) { $customer = Syspay_Merchant_Entity_Customer::buildFromResponse($response->customer); $billingAgreement->setCustomer($customer); } return $billingAgreement; }
/** * Build a plan entity based on a json-decoded plan stdClass * * @param stdClass $response The plan data * @return Syspay_Merchant_Entity_Plan The plan object */ public static function buildFromResponse(stdClass $response) { $plan = new self(); $plan->setId(isset($response->id) ? $response->id : null); $plan->setStatus(isset($response->status) ? $response->status : null); $plan->setName(isset($response->name) ? $response->name : null); $plan->setDescription(isset($response->description) ? $response->description : null); $plan->setCurrency(isset($response->currency) ? $response->currency : null); $plan->setTrialAmount(isset($response->trial_amount) ? $response->trial_amount : null); $plan->setTrialPeriod(isset($response->trial_period) ? $response->trial_period : null); $plan->setTrialPeriodUnit(isset($response->trial_period_unit) ? $response->trial_period_unit : null); $plan->setTrialCycles(isset($response->trial_cycles) ? $response->trial_cycles : null); $plan->setBillingAmount(isset($response->billing_amount) ? $response->billing_amount : null); $plan->setBillingPeriod(isset($response->billing_period) ? $response->billing_period : null); $plan->setBillingPeriodUnit(isset($response->billing_period_unit) ? $response->billing_period_unit : null); $plan->setBillingCycles(isset($response->billing_cycles) ? $response->billing_cycles : null); $plan->setInitialAmount(isset($response->initial_amount) ? $response->initial_amount : null); $plan->setRetryMapId(isset($response->retry_map_id) ? $response->retry_map_id : null); $plan->setType(isset($response->type) ? $response->type : null); if (isset($response->created) && !is_null($response->created)) { $plan->setCreated(Syspay_Merchant_Utils::tsToDateTime($response->created)); } return $plan; }
/** * Build a payment entity based on a json-decoded payment stdClass * * @param stdClass $response The payment data * @return Syspay_Merchant_Entity_Payment The payment object */ public static function buildFromResponse(stdClass $response) { $payment = new self(); $payment->setId(isset($response->id) ? $response->id : null); $payment->setReference(isset($response->reference) ? $response->reference : null); $payment->setAmount(isset($response->amount) ? $response->amount : null); $payment->setCurrency(isset($response->currency) ? $response->currency : null); $payment->setStatus(isset($response->status) ? $response->status : null); $payment->setExtra(isset($response->extra) ? $response->extra : null); $payment->setDescription(isset($response->description) ? $response->description : null); $payment->setWebsite(isset($response->website) ? $response->website : null); $payment->setFailureCategory(isset($response->failure_category) ? $response->failure_category : null); $payment->setChipAndPinStatus(isset($response->chip_and_pin_status) ? $response->chip_and_pin_status : null); if (isset($response->processing_time) && !is_null($response->processing_time)) { $payment->setProcessingTime(Syspay_Merchant_Utils::tsToDateTime($response->processing_time)); } if (isset($response->billing_agreement) && $response->billing_agreement instanceof stdClass) { $billingAgreement = Syspay_Merchant_Entity_BillingAgreement::buildFromResponse($response->billing_agreement); $payment->setBillingAgreement($billingAgreement); } if (isset($response->subscription) && $response->subscription instanceof stdClass) { $subscription = Syspay_Merchant_Entity_Subscription::buildFromResponse($response->subscription); $payment->setSubscription($subscription); } return $payment; }