PNS (Payment Notification Service)
Last updated
Last updated
If the app that uses ONE store's IAP V5 initiates payment or payment cancellation transactions through the ONE store payment system, ONE store passes a notification to the pre-configured Developer Center Server. The PNS (Payment Notification Service) can be used as a means to check the loss of payment information that may occur on mobile, and makes a push notification on payment and payment cancellation, respectively.
Since the payment notification may also be lost or the server that sends and receives notifications may fail, developers must not use the push notification they receive as a ground for providing in-app products.
The developers are required to provide the in-app products based on the payment completion response which is made for the payment request of the app. The payment notification is used for customer service purposes, including payment confirmation and withdrawal of items.
If you want to check the payment with a server-to-server, do not use PNS notification and we recommend using related server APIs like getPurchaseDetail or getPurchaseDetailByProduct.
ONE store can perform a payment test for verification and monitoring purposes, and the test results will be sent the same notification upon payment/cancellation. The payment test details are periodically cancelled by ONE store.
You can set up the developer's service server which receives the payment notification by selecting an in-app product on the 'Developer Center > Apps > My Applications' page and clicking the 'Payment Notification' button on the 'In-App' menu.
msgVersion
Y
The message version
Development(SANDBOX) : 2.0.0D
Commercial : 2.0.0
packageName : String
Y
the package name of the app
productId : String
Y
the In-App product ID
messageType : String
Y
ONE store sends the fixed message: "SINGLE_PAYMENT_TRANSACTION"
purchaseId : String
Y
the purchase ID
developerPayload : String
N
the payment unique identifier that is provided by the developer
purchaseTimeMillis : Long
Y
the time when the payment is completed on the ONE store payment system(timestamp:Long)
purcahseState : enum
Y
COMPLETED : paid
CANCELED : cancelled
price : Number
Y
total payment amount
productName : String
N
It will be passed if the developer's service sets the customized in-app product name upon purchase request.
paymentTypeList : object[]
Y
payment information
paymentMethod : String
Y
payment method (the paymentMethod is defined below this table)
amount : Number
Y
payment amount
billingKey
N
the billingkey for the extension features
isTestMdn
N
ONE store test billing (true : test, false : normal billing/canceling case) This parameter helps you to identify the ONE store test billing. ONE store may purchase your In-App products for the review or test purpose and those purchases are canceled by ONE store. In this case, you will receive PNS messages with this parameter set to 'true'.
signature : String
Y
signature of this message
paymentMethod of ONE store
paymentMethod
name
description
DCB
Direct carrier billing
Direct carrier billing
PHONEBILL
Mobile Micro-Payment
Mobile Micro-Payment
ONEPAY
ONE pay
mobile payment service(Card) by ONE store
ONEPAYBANKACCT
ONE pay Bank Account
mobile payment service(account) by ONE store
ONEPAYDCB
ONE pay Direct carrier billing
mobile payment service(DCB) by ONE store
ONEPAYPHONEBILL
ONE pay Mobile Micro-Payment
mobile payment service(PHONBILL) by ONE store
CREDITCARD
Credit card
credit/debit card payment
11PAY
11Pay
mobile payment service by SK planet
NAVERPAY
Naver pay
mobile payment service by NAVER
CULTURELAND
Culture Cash
TMEMBERSHIP
T membership
membership point of SK telecom
KTMEMBERSHIP
KT membership
membership point of KT
LGMEMBERSHIP
U+ membership
membership point of LG U+
OCB
OK Cashbag
GAMECASH
Game Cas
ONE store Game Cash
ONESTORECASH
ONE store Cash
ONE store Cash
ONESTORECOUPON
ONE store Coupon
ONE store Coupon
TMONEY
T Money
T Money
How to check the validity of the signature
Using the codes below, you can verify that the signature is valid.
The public key in the source code means the License key provided by ONE store development center(Apps > In-App > Credentials).
For more information, refer to the 'Issue License Key' in the Preparatory Work page.
JAVA
PHP
Python