private function map_address($billing_address) { $address = new Address($billing_address); $address->map('name', 'PAYMENTREQUEST_0_SHIPTONAME')->map('phone', 'PAYMENTREQUEST_0_SHIPTOPHONENUM')->map('city', 'PAYMENTREQUEST_0_SHIPTOCITY')->map('address1', 'PAYMENTREQUEST_0_SHIPTOSTREET')->map('address2', 'PAYMENTREQUEST_0_SHIPTOSTREET2')->map('state', 'PAYMENTREQUEST_0_SHIPTOSTATE')->map('country', 'PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE')->map('zip', 'PAYMENTREQUEST_0_SHIPTOZIP'); return $address; }
/** * Options key can be 'shipping address' and 'billing_address' or 'address' * * Each of these keys must have an address array like: * <code> * $address['name'] * $address['company'] * $address['address1'] * $address['address2'] * $address['city'] * $address['state'] * $address['country'] * $address['zip'] * $address['phone'] * </code> * common pattern for address is * <code> * $billing_address = isset($options['billing_address']) * ? $options['billing_address'] * : $options['address']; * $shipping_address = $options['shipping_address']; * </code> * * @param array $options * * @return void */ private function add_address($options) { $billing_address = $options->billing_address ?: $options->address; if (null == $billing_address) { return; } $address = new Address($billing_address); $address->map('city', 'city')->map('address1', 'address')->map('state', 'state')->map('country', 'country')->map('zip', 'postcode'); $this->post['address'] = $address->getMappedFields(); }