O provider STNStoneCodeActivationProvider é responsável por ativar e desativar o StoneCode do lojista. Possui os métodos activateStoneCode:withblock:, deactivateMerchant: e deactivateMerchantWithStoneCode:.
O StoneCode deve ser ativado antes de realizar qualquer operação na Stone.
Para ativar o lojista no aplicativo deve ser usado o método activateStoneCode:withblock:, que recebe uma string com o StoneCode do lojista como parâmetro.
NSString *stoneCode = @"999999999"; // Stone Code do lojista
[STNStoneCodeActivationProvider activateStoneCode:stoneCode withBlock:^(BOOL succeeded, NSError *error)
{
if (succeeded) // verifica se a requisição ocorreu com sucesso
{
// em caso de sucesso,
// executa alguma coisa
} else
{
// em caso de erro,
// faz alguma tratativa
NSLog(@"%@", error.description);
}
}];
Uma opção para desativar o lojista no aplicativo é o método deactivateMerchantWithStoneCode:, que recebe o StoneCode por parâmetro.
NSString *stoneCode = @"999999999"; // Stone Code do lojista
[STNStoneCodeActivationProvider deactivateMerchantWithStoneCode:stoneCode];
Outra opção para desativar o lojista no aplicativo é o método deactivateMerchant:, que recebe o lojista a ser desativado (um objeto do tipo STNMerchantModel) como parâmetro:
Esse método excluirá o lojista do aplicativo, junto de todas as transações realizadas pelo mesmo.
STNMerchantModel *merchant = [STNMerchantListProvider listMerchants][0]; // Primeiro lojista da lista
[STNStoneCodeActivationProvider deactivateMerchant:merchant];
Possíveis códigos de erro:
101, 202, 209.