지갑 생성 및 관리

등록하기

사용자 로그인 결과 loginStatuspinRequired이거나 registerRequired인 경우에는 등록하기 절차를 수행해야 합니다.

loginStatus
Description

pinRequired

사용자의 지갑을 생성하고 앱 등록을 수행합니다. 최초 지갑 생성을 위한 사용자 PIN 입력을 받아야 합니다. 사용자로부터 2번 입력 받아 확인 할 것을 권장합니다.

registerRequired

사용자 지갑에 앱 등록을 수행합니다. 이미 생성된 지갑의 계정을 앱에 등록하는 것이기 때문에 기존 PIN확인을 위해 한번의 PIN 입력을 받습니다.

위핀은 사용자의 PIN을 입력 받을 수 있는 UI Library를 제공하고 있습니다. 이를 이용하여 사용자로부터 PIN을 입력 받고, 그 결과를 받아 이후 등록 절차를 수행합니다. 플랫폼에 따른 핀 패드 라이브러리 목록은 API의 개요 페이지를 참고하세요.

POST /v1/app/register HTTP/1.1
Host: sdk.wepin.io
X-API-KEY: ${APP_KEY}
X-API-DOMAIN: {APP_DOMAIN}
X-SDK-TYPE: {platform}_rest_api
Content-Type: application/json
Authorization: Bearer ${access_token}

{
	"appId": "<String>",
	"userId": "<String>",
	"loginStatus": "pinRequired",
	"UVD": {
		"b64SKey": "<String>",
		"b64Data": "<String>",
	},
	"hint": {
		"length": 6,
		"data": "**11**",
	}
}

Request

Parameter

Name
Type
Description
Required

appId

String

O

userId

String

O

walletId

String

사용자 지갑 ID. loginStatusregisterRequired 일 때, walletId 필요합니다.

X

loginStatus

String

O

UVD

Object

User Verification Data. 사용자가 입력한 PIN 값을 암호화한 값입니다. PIN Pad Library를 통해서 얻습니다.

X

hint

Object

사용자가 입력한 PIN 값에 대한 Hint. PIN Pad Library를 통해서 얻습니다. loginStatuspinRequired 인 경우에만 유효합니다. Hint는 서버로 전달되어 사용자 e-mail로 전송 됩니다.

X

Response

Success Response

Name
Type
Description

success

Boolean

성공 여부

Error Response

Name
Type
Description

statusCode

Integer

Http status code 값

timestamp

Timestamp

Time stamp 값

path

String

어느 path(API)의 error response 인지를 나타냄.

message

String

Error 상황에 대한 message

remainPinTryCnt

Integer

사용자가 입력한 PIN이 틀린 경우 반환 되는 값으로, 남아있는 PIN 인증 시도 횟수.

response에 RemainPinTryCnt가 있는 경우는 PIN 값이 틀린 경우 입니다. 이 경우 Client에서 이에 맞는 UI/UX를 사용자에게 제공해야 합니다.


사용자 지갑 PIN 변경하기

사용자는 본인의 지갑의 PIN 번호를 변경할 수 있습니다. newUVD에 들어가는 nonce 값은 UVD의 nonce+1 값으로 넣어야 합니다.

PATCH /v1/wallet/pin/change HTTP/1.1
Host: sdk.wepin.io
X-API-KEY: ${APP_KEY}
X-API-DOMAIN: {APP_DOMAIN}
X-SDK-TYPE: {platform}_rest_api
Content-Type: application/json
Authorization: Bearer ${access_token}

{
	"UVD": {
		"b64SKey": "<String>",
		"b64Data": "<String>",
	},
	"newUVD": {
		"b64SKey": "<String>",
		"b64Data": "<String>",
	},
	"hint": {
		"length": 6,
		"data": "**11**",
	}
}

Request

Parameter

Name
Type
Description
Required

UVD

Object

User Verification Data. 사용자가 입력한 PIN 값을 암호화한 값입니다. PIN Pad Library를 통해서 얻습니다.

O

newUVD

Object

User Verification Data. 사용자가 입력한 새로운 PIN 값을 암호화한 값입니다. PIN Pad Library를 통해서 얻습니다.

O

hint

Object

사용자가 입력한 PIN 값에 대한 Hint. PIN Pad Library를 통해서 얻습니다. Hint는 서버로 전달되어 사용자 e-mail 로 전송 됩니다.

O

Response

Success Response

Name
Type
Description

status

Boolean

성공 여부

Error Response

Name
Type
Description

statusCode

Integer

Http status code 값

timestamp

Timestamp

Time stamp 값

path

String

어느 path(API)의 error response 인지를 나타냄.

message

String

Error 상황에 대한 message

remainPinTryCnt

Integer

사용자가 입력한 PIN이 틀린 경우 반환 되는 값으로, 남아있는 PIN 인증 시도 횟수.

사용자 지갑의 PIN Try Count 리셋

사용자 지갑의 PIN try count값 초기화를 요청합니다.

GET /v1/wallet/{walletId}/pin/reset-try-count?userId={userId} HTTP/1.1
Host: sdk.wepin.io
X-API-KEY: ${APP_KEY}
X-API-DOMAIN: {APP_DOMAIN}
X-SDK-TYPE: {platform}_rest_api
Content-Type: application/json
Authorization: Bearer ${access_token}

Request

Parameter

Name
Type
Description
Required

userId

String

O

walletId

String

O

Response

Success Response

Name
Type
Description

status

Boolean

성공 여부

Error Response

Name
Type
Description

statusCode

Integer

Http status code 값

walletId

String

사용자 지갑 ID

maxTryCount

String

해당 지갑의 Max PIN Try Count

remainPinTryCnt

Integer

사용자가 입력한 PIN이 틀린 경우 반환 되는 값으로, 남아있는 PIN 인증 시도 횟수.

recvResetCmd

Boolean

/v1/wallet/{walletId}/pin/reset-try-count 수행 여부

lockTime

String

PIN Try Count 초기화되기까지 필요한 시간(분 단위)

releaseTimestamp

String

지갑 사용자의 PIN Try Count값이 초기화되는 시간

사용자 지갑의 PIN 검증

사용자 지갑의 PIN 번호를 검증합니다.

사용자 지갑의 PIN Try Count 리셋 후, PIN 검증 과정을 필수적으로 수행해야 합니다.

POST /v1/wallet/pin/verify HTTP/1.1
Host: sdk.wepin.io
X-API-KEY: ${APP_KEY}
X-API-DOMAIN: {APP_DOMAIN}
X-SDK-TYPE: {platform}_rest_api
Content-Type: application/json
Authorization: Bearer ${access_token}

Request

Parameter

Name
Type
Description
Required

userId

String

O

walletId

String

사용자 지갑 ID

O

UVD

UVD

사용자의 UVD PIN Pad Library - generateAuthPINBlock 의 response 값 사용

O

Response

Success Response

Name
Type
Description

status

string

요청 실패 여부 (“success” 또는 “fail”)

walletId

string

사용자 지갑 ID

pinVerified

boolean

PIN 검증 결과

Error Response

Name
Type
Description

statusCode

Integer

Http status code 값

timestamp

Timestamp

Time stamp 값

path

String

어느 path(API)의 error response 인지를 나타냄.

message

String

Error 상황에 대한 message

remainPinTryCnt

Integer

사용자가 입력한 PIN이 틀린 경우 반환 되는 값으로, 남아있는 PIN 인증 시도 횟수.

Last updated