These docs are for v3.4. Click to read the latest docs for v4.0.

Documentação técnica sobre recorrência

Mudanças no request para o uso de recorrência

Para utilizar a recorrência em transações, é necessário incluir inicialmente a tag <AddtlSvc> com o valor RECP (Recurring Payment). Abaixo, você poderá verificar onde essa tag deve ser inserida no request.

Além disso, também é obrigatório o envio da tag <SvcAttr>, que define se a transação é a primeira da série de recorrência ou uma das subsequentes. O local dessa tag no request também pode ser verificado abaixo.

📘

Recorrência e Parcelamento

Em transações recorrentes, não é possível realizar parcelamento; apenas transações à vista.
(InstlmtTp = NONE / TtlNbOfPmts = 0)

Série de recorrência

A primeira transação deve receber o valor FREC (First Recurring) na tag <SvcAttr>. E o modo de entrada deve ser Ecommerce.

<AccptrAuthstnReq> 
  <AuthstnReq>
    <Cntxt>
      <PmtCntxt>
        <CardDataNtryMd>PHYS</CardDataNtryMd>
        <TxChanl>ECOM</TxChanl>
      </PmtCntxt>
    </Cntxt>
    <Tx>
      <AddtlSvc>RECP</AddtlSvc>
      <SvcAttr>FREC</SvcAttr>
    </Tx>
  </AuthstnReq>
</AccptrAuthstnReq>

Já as demais transações recebem o valor RREC (Following Recurring) na tag <SvcAttr>. E o modo de entrada é cartão armazenado.

<AccptrAuthstnReq> 
  <AuthstnReq>
    <Cntxt>
      <PmtCntxt>
        <CardDataNtryMd>CDFL</CardDataNtryMd>
        <TxChanl>ECOM</TxChanl>
      </PmtCntxt>
    </Cntxt>
    <Tx>
      <AddtlSvc>RECP</AddtlSvc>
      <SvcAttr>RREC</SvcAttr>
    </Tx>
  </AuthstnReq>
</AccptrAuthstnReq>

❗️

CVV

Em transações recorrentes, o CVV só deve ser enviado na primeira transação da recorrência.

📘

Regra Mastercard - MCCs específicos

Para transações dos seguintes MCCs: 7995 (Transações de jogos de azar); 7800 (Loteria de propriedade do governo); 7801 (Jogos de azar na Internet); 7802 (Corridas de cavalos/cães licenciadas pelo governo); 9406 (Loteria de propriedade do governo), as transações de Credential On File (sejam recorrentes ou não) sempre devem incluir o CVV, exceto quando forem autenticadas via 3DS com autenticação do emissor (AuthntcnRslt = CRPT) ou se forem InApp sem Wallet Identifier.


Identificador de recorrência

Ao iniciar uma série de recorrência, a bandeira gera um identificador único na primeira transação, que deve ser enviado em todas as transações subsequentes da mesma série. Assim, ao receber esse identificador, o integrador deve armazená-lo e incluí-lo nas requisições das próximas transações da recorrência.

Se houver alguma alteração na série, como a modificação do valor da recorrência, uma nova série será iniciada (<SvcAttr>FREC</SvcAttr>), e um novo identificador deverá ser armazenado pelo integrador para ser utilizado nas transações dessa nova série.

Segue abaixo a exemplificação de onde o identificador é enviado ao integrador no response da primeira transação da série e onde ele deve ser incluído no request para a Stone nas transações subsequentes da mesma série.

<Document xmlns="urn:AcceptorAuthorisationResponseV02.1">
	<AccptrAuthstnRspn>
		<AuthstnRspn>
			<Tx>
				<IssrTxId>IdentificadordaRecorrencia</IssrTxId>
			</Tx>
		</AuthstnRspn>
	</AccptrAuthstnRspn>
</Document>
<Document xmlns="urn:AcceptorAuthorisationRequestV02.1">
	<AccptrAuthstnReq>
		<AuthstnReq>
			<Tx>
				<OrgnlTx>
					<IssrTxId>IdentificadordaRecorrencia</IssrTxId>
				</<OrgnlTx>
			</Tx>
		</AuthstnReq>
	</AccptrAuthstnReq>
</Document>

❗️

Atenção

Para as bandeiras Elo e Visa, o envio do identificador é obrigatório. Além disso, o identificador da série permanecerá o mesmo, ainda que a recorrência mude de adquirente ao longo das autorizações.