2.0.0-рдЕрд▓реНрдлрд╛ 3
(рдореИрдВрдиреЗ 1.1.5 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдПрдХ рд╣реА рдореБрджреНрджрд╛)
рдЖрдИрдУрдПрд╕
validateReceiptIos рд╡реИрдз рд░рд╕реАрджреЛрдВ рдХреЗ рд▓рд┐рдП 0/1 / true рд▓реМрдЯрд╛рддрд╛ рд╣реИ
validateReceiptIos рд╣рдореЗрд╢рд╛ рдЭреВрдард╛ рд▓реМрдЯрддрд╛ рд╣реИ
рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕, рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдРрдк рд╕реНрдЯреЛрд░
рдореИрдВ рдСрдЯреЛ рдЕрдХреНрд╖рдп рд╕рджрд╕реНрдпрддрд╛ рдЦрд░реАрдж рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдФрд░ рд▓реЗрдирджреЗрди рд░рд╕реАрдж рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЬрдм рдореИрдВ iOS рдкрд░ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗрд░реАрдЯреЗрд░рд┐рдкреЗрдЯрд┐рдкреЛрд╕ (рд░рд╕реАрдж, рд╕рддреНрдп, 55) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ рд╣рдореЗрд╢рд╛ рдЭреВрдареЗ рд╣реЛ рдЬрд╛рддрд╛ рд╣реВрдВред
рдЕрдЧрд░ рдореИрдВ JSON.stringify (Res) рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ:
{"рд╕реНрдерд┐рддрд┐": 21004, "рдкрд░реНрдпрд╛рд╡рд░рдг": "рд╕реИрдВрдбрдмреЙрдХреНрд╕"}
# 190 рдкрд░ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдПрдХ рдореБрджреНрджрд╛ рдерд╛
рдЖрдк рдХрд┐рд╕ рд▓рд╛рдЗрди рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ? ЁЯдФ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХреМрди рд╕реЗ рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдиреЗрдЯрд┐рд╡ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
@fabianunger рдЕрдЬреАрдмред # 190 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдЖрдк рдХреБрдЫ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛": "^ 16.3.2"
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓рдХ": "^ 0.55.3"
`` `
рдорд╛рдиреНрдп = async (рдЙрддреНрдкрд╛рдж) => {
рдкреНрд░рдпрддреНрди {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (рдЙрддреНрдкрд╛рдж);
const receiptBody = {
'receipt-data': product.transactionReceipt,
};
console.log(receiptBody);
const result = await RNIap.validateReceiptIos(receiptBody, true, 55);
console.log(result);
} catch(err) {
console.warn(err.code, err.message);
Alert.alert(err.message);
}
};
`` `
@fabianunger рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ?
npm install LinusU/react-native-iap#ios-validate
@LinusU @dooboolab
рдореИрдВрдиреЗ рдЕрднреА рд░рд╕реАрдж рдореЗрдВ рд╕рд╛рдЭрд╛ рд░рд╣рд╕реНрдп рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдо рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдбреЙрдХреНрд╕ рдореЗрдВ рдХрд╣реАрдВ рдпрд╛рдж рдХрд┐рдпрд╛? рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛?
const receiptBody = {
'receipt-data': product.transactionReceipt,
'password': '*********'
};
(рдЕрднреА рднреА рд╕рдВрд╕реНрдХрд░рдг 2.0.0-рдЕрд▓реНрдлрд╛ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░)
@ рд▓рд┐рдиреБрд╕реБ
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛: рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдоред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ {"рд╕реНрдерд┐рддрд┐": 21004, "рд╡рд╛рддрд╛рд╡рд░рдг": "рд╕реИрдВрдбрдмреЙрдХреНрд╕"} рдорд┐рд▓рддрд╛ рд╣реИред
рд░рд╕реАрдж рдХреЗ рднреАрддрд░ рд╕рд╛рдЭрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ 'рдкрд╛рд╕рд╡рд░реНрдб' рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░: рдХреНрдпрд╛ рдпрд╣ рд╡реИрд╕реЗ рднреА рдирд┐рдпрдорд┐рдд рддрд░реАрдХрд╛ рд╣реИ?
@fabianunger рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдХрд┐рдпрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд░реЗрдлрд░реА рдпрд╣рд╛рдБред рдбреЙрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд░рд╣реЗрдЧрд╛ред
shared secret
рдХреНрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?
shared secret
рдХреНрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?
https://www.appypie.com/faqs/how-can-i-get-saring-secret-key-for-in-app-purchase
{{рд╕реНрдерд┐рддрд┐: 21007}} рд▓реМрдЯрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдбрдХреНрд╢рди рдореЛрдб рдореЗрдВ рд╡реИрд▓рд┐рдбреЗрдЯ рд░рд┐рдХреЗрдЯ рдХрд░реЗрдВ, рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕рдХреЗ рд╕рд╛рде mw рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж
рдЗрдзрд░ рджреЗрдЦреЛ:
"21007: рдпрд╣ рд░рд╕реАрдж рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЬрдЧрд╣ рднреЗрдЬреЗрдВред"
рдкрд░реАрдХреНрд╖рдг рдкрд░реНрдпрд╛рд╡рд░рдг рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: https://sandbox.itunes.apple.com/verifyReceipt
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@LinusU @dooboolab
рдореИрдВрдиреЗ рдЕрднреА рд░рд╕реАрдж рдореЗрдВ рд╕рд╛рдЭрд╛ рд░рд╣рд╕реНрдп рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдо рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдбреЙрдХреНрд╕ рдореЗрдВ рдХрд╣реАрдВ рдпрд╛рдж рдХрд┐рдпрд╛? рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛?
(рдЕрднреА рднреА рд╕рдВрд╕реНрдХрд░рдг 2.0.0-рдЕрд▓реНрдлрд╛ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░)