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.