shoppingmallv2/app/Libraries/Adapter/Payment/CookiePayment.php
최준흠git config git config --helpgit config --global user.name 최준흠 b4de105a7d shoppingmallv2 init...
2023-08-10 22:26:56 +09:00

65 lines
2.4 KiB
PHP

<?php
namespace App\Libraries\Adapter\Payment;
use App\Libraries\Adapter\API\CurlAPI as APIAdapter;
// 참고:
// https://techhub.hpe.com/eginfolib/servers/docs/HPRestfultool/iLo4/data_model_reference.html
// https://github.com/SyntaxPhoenix/iloclient
class CookiePayment extends Payment
{
public function __construct($debug = false)
{
parent::__construct($debug);
}
private function getToken()
{
$adapter = new APIAdapter();
$adapter->setHeader("content-type", "application/json; charset=utf-8");
/* 토큰 발행 API */
$token_url = getenv("payment.cookiepay.token_url") ?: "{TOKEN 발행 URL}";
$token_request_data = array(
'pay2_id' => 'cookiepayments에서 발급받은 ID',
'pay2_key' => 'cookiepayments에서 발급받은 연동키',
);
$token = $adapter->requestURL($token_url, "GET", $token_request_data);
/* 여기 까지 */
if ($token['RTN_CD'] != '0000') {
throw new \Exception("Cookipay에서 Token을 받는데 실패했습니다.");
}
return $token;
}
public function execute()
{
$adapter = new APIAdapter();
$adapter->setHeader("content-type", "application/json; charset=utf-8");
$adapter->setHeader("ApiKey", getenv("payment.cookiepay.apikey") ?: "COOKIEPAY에서 발급받은 연동키");
$adapter->setHeader("TOKEN", $this->getToken());
$cookiepayments_url = getenv("payment.cookiepay.url") ?: "{요청도메인}/keyin/payment";
$request_data_array = 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->requestURL($cookiepayments_url, "GET", $request_data_array);
}
}