コード例 #1
0
 /**
  * 指定の注文について WebPay API で実売上化する
  * エラーメッセージを返す。
  *
  * @param  \WebPay\WebPay       $objWebPay WebPay client
  * @return string|null          決済時に発生したエラーを管理者に説明するメッセージ
  * @throws \WebPay\ApiException 管理者に原因がないエラー(設定ミスによるもの、通信障害によるもの)
  */
 public function capture($objWebPay)
 {
     $current_total = intval($this->arrOrder['payment_total'], 10);
     if ($this->getAmount() < $current_total) {
         return sprintf('仮売上金額(%s円)以上で実売上化することはできません。合計金額を仮売上金額以下にするか、金額を増額する場合は購入者に連絡し、再度購入処理を行ってください。', number_format($this->getAmount()));
     }
     try {
         $objCharge = $objWebPay->chargeCapture(array('id' => $this->getChargeId(), 'amount' => $current_total));
     } catch (\WebPay\ApiException $e) {
         $objData = $e->getData();
         if ($objData && $objData->error) {
             $message = $objData->error->message;
             switch ($objData->error->causedBy) {
                 case 'buyer':
                     return '購入者に起因する問題で決済できませんでした。購入者に連絡して状況をお訪ねください。' . $message;
                 case 'insufficient':
                     return '不正なリクエストがおこなわれました。WebPayのダッシュボードを確認してください。' . $message;
                 case 'missing':
                     return '操作対象の課金が見つかりませんでした。WebPayのダッシュボードを確認してください。';
                 case 'service':
                 default:
                     return '未知のエラーが発生しました。時間をおいてやりなおしてください。' . $message;
             }
         }
         throw $e;
     }
     $objPurchase = new SC_Helper_Purchase_Ex();
     $updateData = array(MDL_WEBPAY_CHARGE_DATA_COL => $this->lfConvertToDbChargeData($objCharge));
     $objQuery = SC_Query_Ex::getSingletonInstance();
     $objQuery->begin();
     $objPurchase->sfUpdateOrderStatus($this->arrOrder['order_id'], ORDER_PRE_END, null, null, $updateData);
     $objQuery->commit();
     $objPurchase->sendOrderMail($this->arrOrder['order_id']);
     return null;
 }
コード例 #2
0
 /**
  * Retrieve a token object by token id.
  *
  * @param  mixed          $params a value convertible to TokenIdRequest
  * @return TokenIdRequest
  */
 public function retrieve($params = array())
 {
     $req = TokenIdRequest::create($params);
     $rawResponse = $this->client->request('get', 'tokens' . '/' . (string) $req->id, $req);
     return new TokenResponse($rawResponse);
 }
コード例 #3
0
 /**
  * List events filtered by params
  *
  * @param  mixed            $params a value convertible to EventListRequest
  * @return EventListRequest
  */
 public function all($params = array())
 {
     $req = EventListRequest::create($params);
     $rawResponse = $this->client->request('get', 'events', $req);
     return new EventResponseList($rawResponse);
 }
コード例 #4
0
 /**
  * Delete all test data of this account
  *
  * @param  mixed        $params a value convertible to EmptyRequest
  * @return EmptyRequest
  */
 public function deleteData($params = array())
 {
     $req = EmptyRequest::create($params);
     $rawResponse = $this->client->request('delete', 'account' . '/' . 'data', $req);
     return new DeletedResponse($rawResponse);
 }
コード例 #5
0
 /**
  * Delete a card data of a customer
  *
  * @param  mixed             $params a value convertible to CustomerIdRequest
  * @return CustomerIdRequest
  */
 public function deleteActiveCard($params = array())
 {
     $req = CustomerIdRequest::create($params);
     $rawResponse = $this->client->request('delete', 'customers' . '/' . (string) $req->id . '/' . 'active_card', $req);
     return new CustomerResponse($rawResponse);
 }
コード例 #6
0
 /**
  * List charges filtered by params
  *
  * @param  mixed             $params a value convertible to ChargeListRequest
  * @return ChargeListRequest
  */
 public function all($params = array())
 {
     $req = ChargeListRequest::create($params);
     $rawResponse = $this->client->request('get', 'charges', $req);
     return new ChargeResponseList($rawResponse);
 }
コード例 #7
0
 /**
  * List recursions filtered by params
  *
  * @param  mixed                $params a value convertible to RecursionListRequest
  * @return RecursionListRequest
  */
 public function all($params = array())
 {
     $req = RecursionListRequest::create($params);
     $rawResponse = $this->client->request('get', 'recursions', $req);
     return new RecursionResponseList($rawResponse);
 }
コード例 #8
0
 /**
  * List shops filtered by params
  *
  * @param  mixed            $params a value convertible to BasicListRequest
  * @return BasicListRequest
  */
 public function all($params = array())
 {
     $req = BasicListRequest::create($params);
     $rawResponse = $this->client->request('get', 'shops', $req);
     return new ShopResponseList($rawResponse);
 }