신규 PG 개발 절차
DB에 PG 정보 추가
PG 테이블에 정보 추가
INSERT INTO pg (name) values ('ELAVON')
PGCommission 테이블에 정보 추가
INSERT INTO PGCommission(payType, rate, writeDate, pgId, pgType, AllowPartialCancel) values ('TELEGRAM_CARD_REQUEST','1.100',GETDATE(), 2, 'ELAVON', 1)
JoinerPGCommission 테이블에 정보 추가
INSERT INTO jangbogo.dbo.JoinerPGCommission (joinerId, pgCommissionId, [KEY], [state]) values (15, 3, '', 'REG')
엑심베이 카드결제 연동 예시
update joiner set pgType ='EXIMBAY' where id =540;
INSERT INTO jangbogo.dbo.JoinerPGCommission (joinerId, pgCommissionId, [KEY], [state]) values (540, 11, '{"mid":"","secretKey": ""}', 'REG')
PG 테이블과 PGCommission 테이블도 추가를 해야하지만 이미 추가가 되어있다면 위에 쿼리 처럼 Jangbogo DB의 joinerPGCommission과 joiner 테이블에 정보 추가 및 수정을 하면 된다.
Lib 작업
Lib 내용은 BGP 개선 하면서 제거 해야함
PG 정보 추가
AdprintLib/Service/PaymentGateway/Provider/{PG}/{PG}Info.cs
- IPGInfo 구현
주문시 PG 정보 획득 로직 수정
TqoonLib/Service/OrderPayment/OrderPaymentService.cs
- UserSiteNationCode == “CN” 구조 추가
if(joinerItem.UserSiteNationCode == "CN" || joinerItem.UserSiteNationCode == "US") // 국가 추가
TqoonLib/Service/OrderReg/Module/OrderRegCompleteInfo/PaymentInfo/DefaultPaymentInfoGetter.cs
private void SetPgPayInformations(DefaultOrderRegPaymentCompleteInfo paymentInfo, OrderRegCompleteEscalateInfo escalateInfo) {
...
else if (paymentInfo.PgType == "ELAVON") // 아래 내용 구현
{
paymentInfo.PayData = new Dictionary<string, object>();
paymentInfo.PayData.Add("InvalidReq", true);
paymentInfo.PayData.Add("IsInValidReq", true);
paymentInfo.PayData.Add("IsLinkType", true);
}
}
Tqoon 2.0 작업
PG 타입별 결제 페이지 분기추가
PageSub/Views/Common/OrderComplete/OrderComplete.js
ctrl.goPgPay = function() {
if (pgType == "ELAVON") { // pgb 사용시 조건 추가
ctrl.pgbPayStart();
return;
}