일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 애니메이션 제거
- 인디자인 #이펍 #시길 #epub #sigil #전자책 #이북 #ebook #출판 #팝업주석
- Java #안드로이드스튜디오 #datepicker #timepicker
- Unity #C샵 #레이싱게임
- 포토샵 #Photoshop
- vollyball #kimyeonkoung #korea #sports #star #poster
- 포토샵 #필터 #Filter #FilterGallery #왜곡 #LensCorrection #표정 #Liquify #회화 #Stylize #FindEdges #Noise #GradientMap #Monochromatic #AdjustmentLlayer #폰트 #OTF #외부브러시 #ImportBrush #Brusheezy
- Channels #채널 #RGB #RefineEdge #머리카락누끼 #지우개 #MagicEraser #SpotHealing #Brush #Blur #Patch #Sharpen #Smudge #Dodge #Burn #Sponge #잡티제거 #펜툴 #shape #custom #흐르는문자 #가변글씨 #Acumin #Rasterize #FrameText #텍스
- 포토샵 #언어바꾸기 #영문판 #한글판 #쉬운방법
- 엘리스코딩 #인공지능 #데이터분석 #파이썬 #코딩 #온라인강의 #NIPA #정보통신산업진흥원 #AI
- 모션 #타이틀영상 #글자 #자막 #Animation #포토샵 #프리미어 #인터폴레이션 #키프레임 #EffectsControls #Motion #position #scale #rotation #sequence #opacity #Ease #In #Out #Bezier #text #opening #title #Subtitle
- 프리미어 #영상편집 #기초 #import #editing #export #interface #주요패널 #pannel #project #source #program #timeline #encoding #H264 #MP4 #Queue #label #in #out #marker #편집점 #편집하는법
- 색보정 #Image #adjustments #levels #Vibrance #Saturation #Hue #ReplaceColor #ColorLookup #3DLUT #invert #posterize #threshold #GradientMap #Desaturate #Filter #CameraRawFilter #layer #link #merge #flatten #blending #stroke #DropShadow #Mask #ClippingMa
- 인포그래픽 #체벌 #올바른훈육법 #훈육 #아동학대 #체벌 #부모교육 #아동 #체벌반대
- 무료결제API
- 포토샵 #실습 #학생 #창작
- 포토샵 #스포츠 #포스터 #실습 #학생 #창작 #레이아웃 #구도 #배구 #김연경 #vollyball #kimyeonkoung #korea #sports #star #poster
- opening #title
- 프리미어 #모션 #스포츠 #포스터 #김연경 #배구 #여제 #
- Java #그림판 #이벤트리스너
- AI #python #코인 #회귀 #RNN
- 모션그래픽 #타이포그래픽 #북트레일러 #마당을나온암탉
- 프리미어 #영상편집 #기초 #편집하는법 #shot #샷의다양성 #샷 #크기 #Take #shot #scene #sequence #영상제작과정 #포맷 #코덱 #인코더 #디코더 #FrameRate #Frame #프레임 #픽셀 Pixel #시퀀스설정 #포맷변환 #Seque
- 블렌딩모드 #Darken #lighten #Overlay #Difference #Hue
- 모션그래픽 #애프터이펙트 #repeater #shapelayer #L편집
- 무드보드 #behance #pinterest #Image #Canvas #Scale #Lasso #누끼따기 #Color #Pattern #Fill #ContentAware
- 엘리스 #엘리스코딩 #인공지능 #데이터분석 #코딩 #온라인강의 #파이썬 #AI #한국표준협회 #인공지능전문가 #자격증
- photoshop #UI #language
- Unity #C샵 #슈팅 #게임
- bottom Navigation
MyWorld
[Android : Java] PG결제 시스템 부트페이API 본문
#1 BootPay 사용하기
무료 결제 연동 API 서비스
개발자를 위한 PG 연동 서비스로, 빠른 결제 연동, 더 높은 결제성공율, 무료 통계 서비스를 제공합니다.
www.bootpay.co.kr
위 사이트는 무료 결제 연동 서비스를 제공한다. 나에겐 너무 유용한 사이트였다.
먼저 회원가입을 해준다. 그다음 결제를 위한 프로젝트를 만든다.
그다음 인증키 및 보안을 눌러 안드로이드를 선택하고 Android Application ID를 복사한다.
*API를 사용하기 위해서는 키 발급이 필수적이다
이제 부트 페이에서 제공하는 개발자 가이드 문서를 보고 따라 하면 된다. Java 외에 Kotlin 코드도 제공한다.
#2 API로 연동하기
연동하기는 생각보다는 간단했다. 처음엔 다른 블로그 글들을 보며 했는데 개발자 가이드 문서가 더 보기엔 편했다.
다음 과정을 순서대로 진행해주었다.
1. build.gradle(Project)
buildscript {
repositories {
...
}
dependencies {
...
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' // 비공식 해결 방법, gradle build error 가 발생시에만 추가
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
}
2. build.gradle(module)
dependencies {
...
implementation 'com.github.bootpay:client_android_java:3.3.91'
}
3. manifest.xml(module)
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
4. 결제창을 띄우는 코드
해당 코드에서 PG와 결제수단을 선택하여 작성할 수 있다.
코드의 " [ Android SDK용 Application ID ] "에 위에서 받아온 Android Application ID을 입력해주어야 한다. (따옴표 안에!)
public class MainActivity extends AppCompatActivity {
private int stuck = 10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 초기설정 - 해당 프로젝트(안드로이드)의 application id 값을 설정합니다. 결제와 통계를 위해 꼭 필요합니다.
BootpayAnalytics.init(this, "[ Android SDK용 Application ID ]");
}
public void onClick_request(View v) {
// 결제호출
BootUser bootUser = new BootUser().setPhone("010-1234-5678");
BootExtra bootExtra = new BootExtra().setQuotas(new int[] {0,2,3});
Bootpay.init(getFragmentManager())
.setApplicationId([ Android SDK용 Application ID ]) // 해당 프로젝트(안드로이드)의 application id 값
.setPG(PG.) // 결제할 PG 사
.setMethod(Method.) // 결제수단
.setContext(this)
.setBootUser(bootUser)
.setBootExtra(bootExtra)
.setUX(UX.PG_DIALOG)
// .setUserPhone("010-1234-5678") // 구매자 전화번호
.setName("맥북프로's 임다") // 결제할 상품명
.setOrderId("1234") // 결제 고유번호expire_month
.setPrice(10000) // 결제할 금액
.addItem("마우's 스", 1, "ITEM_CODE_MOUSE", 100) // 주문정보에 담길 상품정보, 통계를 위해 사용
.addItem("키보드", 1, "ITEM_CODE_KEYBOARD", 200, "패션", "여성상의", "블라우스") // 주문정보에 담길 상품정보, 통계를 위해 사용
.onConfirm(new ConfirmListener() { // 결제가 진행되기 바로 직전 호출되는 함수로, 주로 재고처리 등의 로직이 수행
@Override
public void onConfirm(@Nullable String message) {
if (0 < stuck) Bootpay.confirm(message); // 재고가 있을 경우.
else Bootpay.removePaymentWindow(); // 재고가 없어 중간에 결제창을 닫고 싶을 경우
Log.d("confirm", message);
}
})
.onDone(new DoneListener() { // 결제완료시 호출, 아이템 지급 등 데이터 동기화 로직을 수행합니다
@Override
public void onDone(@Nullable String message) {
Log.d("done", message);
}
})
.onReady(new ReadyListener() { // 가상계좌 입금 계좌번호가 발급되면 호출되는 함수입니다.
@Override
public void onReady(@Nullable String message) {
Log.d("ready", message);
}
})
.onCancel(new CancelListener() { // 결제 취소시 호출
@Override
public void onCancel(@Nullable String message) {
Log.d("cancel", message);
}
})
.onError(new ErrorListener() { // 에러가 났을때 호출되는 부분
@Override
public void onError(@Nullable String message) {
Log.d("error", message);
}
})
.onClose(
new CloseListener() { //결제창이 닫힐때 실행되는 부분
@Override
public void onClose(String message) {
Log.d("close", "close");
}
})
.request();
}
}
Bootpay.init 에서 setPG(PG. 결제사) , setMethod(Method. 결제 수단) 부분은
BootPay 관리자 페이지에서 원하는 PG사와 결제 수단을 활성화해주고 사용하면 된다.
( 코드의 주석과 개발 문서에서 함수들의 역할을 알아볼 수 있다 )
나는 결제수단을 활성화해주는 부분을 몰라서 1시간이나 고민했었다.
다음은 결제 수단을 활성화하는 방법이다.
부트 페이에서 생성했던 프로젝트에서 결제 수단 활성화로 들어간다.
나는 PG는 KG 이니시스를 선택했다.. setPG(PG.INICIS)
결제 수단은 전체를 선택했는데 코드에 사용할 것만 활성화해도 될 것이다.. setMethod(Method.CARD)
아래 이미지처럼 사용할 결제 수단을 '활성화' 한다. 나는 실 결제 모드는 사용하지 않고 테스트 개발 모드로 진행했다.
테스트 모드에서도 실 결제가 되기에 결제 후 관리자 페이지에서 결제를 취소해주어야 한다.
아래는 테스트 모드에서 실 결제된 것을 관리자 페이지에서 취소하는 방법이다.
실 결제 모드로 하려면 3번에 PG가맹 정보까지 입력해주어야 한다.
이렇게 하면 결제된 금액이 PG사에서 정산되어 들어오는 식인 것 같다.
다음은 테스트 결제 모드로 만들어 본 결과물이다.
결제하기 버튼을 누르면 금액과 상품 정보가 넘어가고 선택한 PG의 결제 방법들이 뜬다.
~끝~
'Android 앱 개발 (Java)' 카테고리의 다른 글
[Android : Java] Naver Map 도로명주소 찾는 기능 사용 (0) | 2021.06.03 |
---|---|
[Android : Java] RecyclerView 만들기 (0) | 2021.06.03 |
[Android : Java] RecyclerView에서 picasso 사용 시 새로 로딩되는 문제 해결 (0) | 2021.06.03 |
[Android : Java] Glide의 placeholder에 gif 넣는 법 (0) | 2021.06.03 |
[Android : Java] bottom navigation 애니메이션 제거 (0) | 2021.06.03 |