Saltar para o conteúdo principal
Lusopay

Voltar aos manuais / Pay by Link

Editar registos

É igualmente possível, pela REST API, alterar os registos, podendo facilitar na manipulação de estados de pagamento de acordo com o que soluções terceiras pretendam com os dados.

Para editar um registo existente, primeiro é necessário obter a versão atual do registo a editar. Este processo inicia-se com a construção de um URL específico que utiliza o identificador público do registo (o valor de PID - anteriormente public_id). Em seguida, é feita uma requisição GET a essa URL, utilizando cURL, para obter os detalhes do registo, incluindo a sua versão atual. Após confirmar que a versão do registo foi corretamente obtida, os dados a serem atualizados são preparados em formato JSON, incluindo campos personalizados como URL (anteriormente paymentFormUrl), OID (anteriormente order_id), CPM (anteriormente chosen_payment_method), PS (anteriormente payment_status), e URL_S (anteriormente url_status). Um novo URL é então construído para a requisição PUT, que envia os dados preparados para atualizar o registo. Finalmente, a requisição PUT é executada, e o sistema verifica o código de resposta HTTP para assegurar que a atualização foi bem-sucedida. Em caso positivo, o processo de edição está concluído, e o registo é atualizado conforme os novos dados fornecidos.

Explicação do código exemplificado

  1. Função getRecordVersion:

    • Obtém a versão atual do registo usando uma requisição GET.

    • Utiliza cURL para fazer a requisição e retorna a versão obtida do registo.

  2. Função updatePaymentStatus:

    • Atualiza o estado de pagamento do registo utilizando uma requisição PUT.

    • Prepara os dados necessários no formato JSON e envia a requisição PUT com cURL.

  3. Execução do Processo:

    • Verifica se os parâmetros necessários estão presentes.

    • Obtém a versão do registo usando getRecordVersion.

    • Atualiza o estado de pagamento usando updatePaymentStatus.

    • Exibe uma mensagem de sucesso ou erro conforme o resultado das operações.

  4. Parâmetros de Exemplo:

    • Os parâmetros fornecidos no exemplo ($public_id, $paymentFormUrl, $REF, $paybylink_ID, etc.) devem ser substituídos pelos valores reais obtidos dinamicamente no seu código. Chama-se a atenção para o facto de que, na atualização de um registo, se necessita de passar todos os custom field id por forma a se poder inserir o dado a atualizar. Apesar de se obter o número da versão do registo, o mesmo só é passado, sendo que o incremento é feito pela plataforma e não do lado de quem programa, como mostrado no exemplo.

Este exemplo mostra como obter a versão de um registo e, em seguida, atualizar o seu estado de pagamento, garantindo que todas as operações sejam realizadas corretamente e que os erros sejam tratados adequadamente.

Apesar de se obter o número da versão do registo, o mesmo só é passado, sendo que o incremento do número do registo é feito pela plataforma e não do lado de quem programa.