public function purchase($email, array $items, $incomplete = null, $message_id = null, array $options = [ ]) {
        $data = $options;
        $data['email'] = $email;
        $data['items'] = $items;
        if (!is_null($incomplete)) {
            $data['incomplete'] = (int) $incomplete;
        }
        if (!is_null($message_id)) {
            $data['message_id'] = $message_id;
        }
        return $this->apiPost('purchase', $data);
    }