setHeader("content-type", "application/json; charset=utf-8"); /* 토큰 발행 API */ $adapter->setURL(getenv("payment.card.pay2.token_url") ?: "{TOKEN 발행 URL}"); $adapter->setDatas(array( 'pay2_id' => getenv("payment.card.pay2.id") ?: 'cookiepayments에서 발급받은 ID', 'pay2_key' => getenv("payment.card.pay2.key") ?: 'cookiepayments에서 발급받은 연동키', )); $token = $adapter->execute(); /* 여기 까지 */ if ($token['RTN_CD'] != '0000') { throw new \Exception("Cookipay에서 Token을 받는데 실패했습니다."); } return $token; } protected function execute_process(): object { $adapter = new APIAdapter(); $adapter->setHeader("content-type", "application/json; charset=utf-8"); $adapter->setHeader("ApiKey", getenv("payment.card.pay2.apikey") ?: "COOKIEPAY에서 발급받은 연동키"); $adapter->setHeader("TOKEN", $this->getToken()); $adapter->setURL(getenv("payment.card.pay2.url") ?: "{요청도메인}/keyin/payment"); $adapter->setDatas(array( 'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID', 'ORDERNO' => '주문번호', 'PRODUCTNAME' => '상품명', 'AMOUNT' => '결제금액', 'BUYERNAME' => '고객명', 'BUYEREMAIL' => '고객 E-MAIL', 'CARDNO' => '카드번호', 'EXPIREDT' => '카드유효기간', 'PRODUCTCODE' => '상품코드', 'BUYERID' => '고객 ID', 'BUYERADDRESS' => '고객 주소', 'BUYERPHONE' => '고객 휴대폰번호', 'QUOTA' => '할부개월', 'ETC1' => '추가필드 1', 'ETC2' => '추가필드 2', 'ETC3' => '추가필드 3', 'ETC4' => '추가필드 4', 'ETC5' => '추가필드 5', )); return $adapter->execute(); } }