donation = $array['donation']; $self->donor = $array['donor']; return $self; } /** * Returns shape needed for give_set_purchase_session() * * @since 3.0.0 */ public function toPurchaseData(): array { $address = [ 'line1' => $this->donation->billingAddress->address1, 'line2' => $this->donation->billingAddress->address2, 'city' => $this->donation->billingAddress->city, 'state' => $this->donation->billingAddress->state, 'country' => $this->donation->billingAddress->country, 'zip' => $this->donation->billingAddress->zip ]; return [ 'donation_id' => $this->donation->id, 'price' => $this->donation->amount->formatToDecimal(), 'purchase_key' => $this->donation->purchaseKey, 'user_email' => $this->donor->email, 'date' => $this->donation->createdAt->format('Y-m-d H:i:s'), 'user_info' => [ 'id' => $this->donor->id, 'firstName' => $this->donor->firstName, 'lastName' => $this->donor->lastName, 'title' => $this->donor->prefix, 'email' => $this->donor->email, 'address' => $address ], 'post_data' => [ 'amount' => $this->donation->amount->formatToDecimal(), 'first' => $this->donation->firstName, 'last' => $this->donation->lastName, 'email' => $this->donation->email, 'userId' => get_current_user_id(), 'gateway' => $this->donation->gatewayId, ], 'gateway' => $this->donation->gatewayId, 'card_info' => [ 'address' => $address ], ]; } }