페이액션 적용하기 정보
페이액션 적용하기첨부파일
테스트한 버전5.4.5.5.1
호환 가능 버전5.4 이상
본문
페이액션 적용하면서 테스트 했던 코드 공유 합니다.
이 코드를 사용하시면 페이액션에서 현금 입금의 매칭이 완료되면 주문의 '입금' 처리까지 됩니다.
1) config.php와 같은 곳에 설정값을 추가 합니다.
// PayAction 설정
define('PAYACTION_API_URL', 'https://api.payaction.app');
define('PAYACTION_API_KEY', 'your-api-key');
define('PAYACTION_WEBHOOK_KEY', 'your-webhook-key');
define('PAYACTION_MALL_ID', 'your-mall-id');
2) lib 폴더에 .lib.php 파일을 복사 합니다.
order_log.lib.php
payaction.lob.php
3) webhook url에 해당하는 폴더에 webhook.php를 복사 합니다.
4) 주문 생성하는 곳에서 코드를 추가 합니다.
// PayAction 라이브러리 로드
$pa_lib_path = G5_LIB_PATH . '/payaction.lib.php';
if (file_exists($pa_lib_path)) {
include_once($pa_lib_path);
// PayAction 상수가 정의되어 있고, API Key가 설정된 경우에만 실행
if (defined('PAYACTION_API_KEY') && PAYACTION_API_KEY !== 'your-api-key') {
// 주문 정보 조회
$order_sql = "SELECT * FROM {$g5['g5_shop_order_table']} WHERE od_id = '" . sql_real_escape_string($orderId) . "'";
$order = sql_fetch($order_sql);
if ($order) {
order_log('PayAction 주문 전송 시작', null, 'INFO', $orderId);
// PayAction에 주문 정보 전송 (api_log는 payaction.lib.php에서 호출됨)
$payaction_result = payaction_send_order($orderId);
if ($payaction_result['success']) {
order_log('PayAction 주문 전송 완료', [
'response' => $payaction_result['response']
], 'INFO', $orderId);
} else {
// 실패해도 주문 처리는 계속 진행 (로그만 남김)
order_log('PayAction 주문 전송 실패 (주문은 정상 처리됨)', [
'error' => $payaction_result['error']
], 'ERROR', $orderId);
}
}
}
}
4) payaction에 계정 연결하고 API 설정 합니다.
5) 입금 테스트!
참고로 주문 취소할 경우는 payaction_exclude_order 호출 하시면 됩니다.
영카트5 이상의 버전에서는 될 것 같습니다. (영카트 5.4.x 버전 만 사용해봐서 잘 모름..)
PS) 저는 페이액션 회사와 아무런 관련이 없습니다!! 페이액션과 관련한 문의는 페이액션에 하세요~
이 코드를 사용하시면 페이액션에서 현금 입금의 매칭이 완료되면 주문의 '입금' 처리까지 됩니다.
1) config.php와 같은 곳에 설정값을 추가 합니다.
// PayAction 설정
define('PAYACTION_API_URL', 'https://api.payaction.app');
define('PAYACTION_API_KEY', 'your-api-key');
define('PAYACTION_WEBHOOK_KEY', 'your-webhook-key');
define('PAYACTION_MALL_ID', 'your-mall-id');
2) lib 폴더에 .lib.php 파일을 복사 합니다.
order_log.lib.php
payaction.lob.php
3) webhook url에 해당하는 폴더에 webhook.php를 복사 합니다.
4) 주문 생성하는 곳에서 코드를 추가 합니다.
// PayAction 라이브러리 로드
$pa_lib_path = G5_LIB_PATH . '/payaction.lib.php';
if (file_exists($pa_lib_path)) {
include_once($pa_lib_path);
// PayAction 상수가 정의되어 있고, API Key가 설정된 경우에만 실행
if (defined('PAYACTION_API_KEY') && PAYACTION_API_KEY !== 'your-api-key') {
// 주문 정보 조회
$order_sql = "SELECT * FROM {$g5['g5_shop_order_table']} WHERE od_id = '" . sql_real_escape_string($orderId) . "'";
$order = sql_fetch($order_sql);
if ($order) {
order_log('PayAction 주문 전송 시작', null, 'INFO', $orderId);
// PayAction에 주문 정보 전송 (api_log는 payaction.lib.php에서 호출됨)
$payaction_result = payaction_send_order($orderId);
if ($payaction_result['success']) {
order_log('PayAction 주문 전송 완료', [
'response' => $payaction_result['response']
], 'INFO', $orderId);
} else {
// 실패해도 주문 처리는 계속 진행 (로그만 남김)
order_log('PayAction 주문 전송 실패 (주문은 정상 처리됨)', [
'error' => $payaction_result['error']
], 'ERROR', $orderId);
}
}
}
}
4) payaction에 계정 연결하고 API 설정 합니다.
5) 입금 테스트!
참고로 주문 취소할 경우는 payaction_exclude_order 호출 하시면 됩니다.
영카트5 이상의 버전에서는 될 것 같습니다. (영카트 5.4.x 버전 만 사용해봐서 잘 모름..)
PS) 저는 페이액션 회사와 아무런 관련이 없습니다!! 페이액션과 관련한 문의는 페이액션에 하세요~
추천
0
0
댓글 전체
저두 비슷한거 쓴적이 있는데. 이건 또 다른거네요 ?