/** * @param \SimpleXMLElement $xml * * @return self */ public static function createFromXML(\SimpleXMLElement $xml) { $self = new self(); if (isset($xml->barcode) && $xml->barcode != '') { $self->setBarcode((string) $xml->barcode); } if (isset($xml->reference) && $xml->reference != '') { $self->setReference((string) $xml->reference); } return $self; }
/** * 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; }
/** * 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 subscription entity based on a json-decoded subscription stdClass * * @param stdClass $response The subscription data * @return Syspay_Merchant_Entity_Subscription The subscription object */ public static function buildFromResponse(stdClass $response) { $subscription = new self(); $subscription->setId(isset($response->id) ? $response->id : null); $subscription->setPlanId(isset($response->plan_id) ? $response->plan_id : null); $subscription->setPlanType(isset($response->plan_type) ? $response->plan_type : null); $subscription->setReference(isset($response->reference) ? $response->reference : null); $subscription->setStatus(isset($response->status) ? $response->status : null); $subscription->setPhase(isset($response->phase) ? $response->phase : null); $subscription->setExtra(isset($response->extra) ? $response->extra : null); $subscription->setEmsUrl(isset($response->ems_url) ? $response->ems_url : null); $subscription->setWebsiteId(isset($response->website_id) ? $response->website_id : null); $subscription->setCreated(isset($response->created) ? Syspay_Merchant_Utils::tsToDateTime($response->created) : null); $subscription->setStartDate(isset($response->start_date) ? Syspay_Merchant_Utils::tsToDateTime($response->start_date) : null); $subscription->setEndDate(isset($response->end_date) ? Syspay_Merchant_Utils::tsToDateTime($response->end_date) : null); $subscription->setEndReason(isset($response->end_reason) ? $response->end_reason : null); if (isset($response->payment_method) && $response->payment_method instanceof stdClass) { $paymentMethod = Syspay_Merchant_Entity_PaymentMethod::buildFromResponse($response->payment_method); $subscription->setPaymentMethod($paymentMethod); } if (isset($response->customer) && $response->customer instanceof stdClass) { $customer = Syspay_Merchant_Entity_Customer::buildFromResponse($response->customer); $subscription->setCustomer($customer); } if (isset($response->plan) && $response->plan instanceof stdClass) { $plan = Syspay_Merchant_Entity_Plan::buildFromResponse($response->plan); $subscription->setPlan($plan); } if (isset($response->next_event) && $response->next_event instanceof stdClass) { $nextEvent = Syspay_Merchant_Entity_SubscriptionEvent::buildFromResponse($response->next_event); $subscription->setNextEvent($nextEvent); } $subscription->raw = $response; return $subscription; }
/** * 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; }