/** * Get notify URL * * @return string */ private function get_return_url() { // @see https://bitbucket.org/Pronamic/classipress/src/bc1334736c6e/includes/theme-functions.php?at=3.2.1#cl-2381 if (isset($this->order_values['return_url'])) { $url = $this->order_values['return_url']; } else { /* * We query the order info sometimes directly from the database, * if we do this the 'return_url' isn't directly available * * ClassiPress has order information about adding an advertisement, * but also has order information about advertisement packages. * * If the advertisement post ID is empty we know the order * information is about an advertisement package. * * ClassiPress is doing in similar check in the following file: * @see https://bitbucket.org/Pronamic/classipress/src/bc1334736c6e/includes/gateways/gateway.php?at=3.2.1#cl-31 */ if (Pronamic_WP_Pay_Extensions_ClassiPress_Order::is_advertisement($this->order_values)) { // Advertisement // @see https://bitbucket.org/Pronamic/classipress/src/bc1334736c6e/includes/theme-functions.php?at=3.2.1#cl-2381 $url = add_query_arg(array('pid' => $this->order_values['txn_id'], 'aid' => $this->order_values['ad_id']), CP_ADD_NEW_CONFIRM_URL); } else { // Advertisement package // @see https://bitbucket.org/Pronamic/classipress/src/bc1334736c6e/includes/theme-functions.php?at=3.2.1#cl-2409 $url = add_query_arg(array('oid' => $this->order_values['txn_id'], 'uid' => isset($this->order_values['user_id']) ? $this->order_values['user_id'] : false), CP_MEMBERSHIP_PURCHASE_CONFIRM_URL); } } return $url; }