Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Introdução
A monetização permite que você poste reembolsos para desenvolvedores de "transações de compra". Suponha que você seja um operador de telefonia móvel e ofereça aos desenvolvedores uma API de pagamento para cobrar dos assinantes de dispositivos móveis pela compra de um aplicativo ou conteúdo dentro dele. Cada vez que um assinante usa a API para fazer uma compra, é uma transação de compra.
As transações de compra podem resultar em reembolsos. Por exemplo, o conteúdo pode não ser entregue, ou o terceiro pode não estar satisfeito com a compra. Nesses casos, o desenvolvedor emite um reembolso para o terceiro. A monetização permite que você faça um reembolso análogo. Isso é especialmente pertinente para planos de participação na receita.
Imagine que o desenvolvedor que emitiu o reembolso para o assinante de dispositivos móveis comprou um plano de participação na receita para o produto de API. Suponha que o plano exija que o desenvolvedor receba 70% do preço líquido/bruto da transação de compra. Ao postar um reembolso, você, na verdade, reverte a transação de compra, ou seja, deduz 70% do pagamento devido ao desenvolvedor pelo mês em que o reembolso foi aplicado (o mês pode ser diferente daquele em que a transação de compra real ocorreu).
Postar um reembolso usando a interface clássica do Edge (somente para o Edge para nuvem privada)
É possível postar um reembolso para qualquer transação de compra "bem-sucedida", ou seja, em que a API cobrou o terceiro e para a qual você ainda não emitiu um reembolso total. A postagem de um reembolso resulta na criação de uma transação de reembolso com um ID de transação pai, em que o ID da transação é o ID da transação de compra.
É possível postar um reembolso pelo valor total da transação de compra original ou por um valor parcial. Também é possível postar vários reembolsos parciais, mas o valor total dos reembolsos não pode ser maior que o montante da compra original.
Para postar um reembolso:
- Na guia "Monetização", selecione "Reembolsos".

Isso abre a página "Reembolsos".

- No menu suspenso "Mês de faturamento", selecione o mês em que a transação de compra
ocorreu. Em seguida, clique em "+ Reembolsos".
Isso mostra uma lista de todas as transações de compra bem-sucedidas do mês selecionado.

É possível filtrar a lista de reembolsos pelo nome do desenvolvedor ou pesquisando a transação real.
Para filtrar por desenvolvedor, selecione o desenvolvedor no menu suspenso "Desenvolvedor". Isso mostra uma lista apenas das transações relacionadas ao desenvolvedor selecionado.

Para filtrar por ID da transação, insira o ID da transação da compra original que você quer reembolsar. Isso retorna a transação para esse ID.

- Marque a caixa "Selecionar" nas linhas das transações que você quer reembolsar.
- Selecione "Total" ou "Parcial" no menu suspenso "Tipo".
Se você selecionar "Total", o valor total da compra será reembolsado. Se você selecionar "Parcial", um valor parcial da compra será reembolsado.
Se você selecionar "Parcial", insira o valor do reembolso parcial no campo "Valor". Só é possível reembolsar até o valor total da compra. Se você já postou um reembolso parcial, só poderá inserir um valor até o valor restante da compra. Além disso, se a transação de compra original tiver preços brutos e líquidos, você também precisará declarar se o valor parcial que você quer reembolsar é bruto ou líquido.

- Clique em "Salvar" para processar o reembolso (ou "Cancelar" para cancelar).
O reembolso é postado no mês da compra original se o mês de faturamento ainda estiver aberto. Caso contrário, o reembolso será postado na data atual.
Para um reembolso parcial, o reembolso é processado pelo valor parcial, e qualquer participação na receita é deduzida com base na proporção do valor parcial em relação ao valor total. No exemplo de reembolso parcial acima, o valor parcial é 0,50/1,12 = 45% do preço bruto. Portanto, 45% da participação na receita do desenvolvedor serão deduzidos.
Verificar na interface se um reembolso foi processado
Para determinar se um reembolso foi processado, selecione o mês de faturamento na parte de cima de a página "Reembolsos". Esse é o mês da compra se o mês de faturamento ainda estiver aberto ou o mês atual se o mês de faturamento estiver fechado. Isso mostra uma lista de todos os reembolsos que foram postados no mês.
Postar um reembolso usando a API
Para postar um reembolso, emita uma solicitação POST para
/organizations/{org_name}/monetization-packages/{package_id}/refund-transactions,
em que {package_id} é a identificação do pacote de API a que o reembolso
se aplica.
Ao emitir a solicitação, é necessário especificar como parâmetros de consulta:
- A identificação da transação de compra que está sendo reembolsada.
- O tipo de receita (
GROSSouNET) da transação de compra. - O valor do reembolso.
- Uma observação que descreve o motivo do reembolso.
Opcionalmente, é possível identificar como um parâmetro de URL um pacote de API a que o reembolso se aplica.
Consulte Configurações de reembolso para uma lista completa dos parâmetros de URL que podem ser especificados em uma solicitação de reembolso.
Por exemplo, a solicitação a seguir emite um reembolso para uma transação de compra. O valor do reembolso é 50% do valor bruto da transação de compra.
$ curl -H "Content-Type:application/json" -X POST \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment/refund-transactions?revenueType=GROSS&refundAmount=0.5&parentTxId=abf50909-2492-4bf5-8704-ade05f4d43b3&transactionNote=Refund for purchase transaction" \
-u email:password
A resposta deve ser semelhante a esta (apenas parte da resposta é exibida):
{ "application" : { ... }, "product" : [ { ... { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "Status=='200 OK'" } ], ... }, "currency" : "USD", "developer" : { ... "legalName" : "DEV ONE", "name" : "Dev One", "organization" : { ... }, ... }, "endTime" : "2013-09-01 21:59:59", "environment" : "PROD", "euroExchangeRate" : 0.8123, "gbpExchangeRate" : 0.6910, "grossPrice" : 0.5, "id" : "61f7eb88-f8cc-4cda-afd8-4a61fba3dd33", "isRevOnGrossOrNet" : "NET", "isVirtualCurrency" : false, "notes" : "Refund for purchase transaction", "itemDesc" : "test application", "netPrice" : 0.4464, "orgRevenueShareAmount" : 0.1339, "parentId" : "abf50909-2492-4bf5-8704-ade05f4d43b3", "pkgId" : "myorg@@@payment", "pkgRatePlanProductName" : "Payment", ... }, "ratePlanLevel" : "STANDARD", "revenueShareAmount" : 0.3125, "startTime" : "2013-09-01 21:59:59", "status" : "SUCCESS", "tax" : 0.0536, "taxModel" : "UNDISCLOSED", "txProviderStatus" : "SUCCESS", "type" : "REFUND", "usdExchangeRate" : 1.0724, "utcEndTime" : "2013-09-01 21:59:59", "utcStartTime" : "2013-09-01 21:59:59" }
Configurações de reembolso para a API
Os seguintes parâmetros de consulta podem ser especificados em uma solicitação de reembolso:
| Nome | Descrição | Padrão | Obrigatório? |
|---|---|---|---|
monetizationPackageId |
O pacote de API a que o reembolso se aplica. |
N/A | Não |
parentTxId |
A transação de compra a ser reembolsada. |
N/A | Sim |
revenueType |
O tipo de receita ( |
N/A | Sim |
refundAmount |
O valor do reembolso. |
N/A | Sim |
transactionNote |
Uma observação de texto que descreve o motivo do reembolso. |
N/A | Sim |
Próximas etapas
Saiba como programar jobs relacionados à monetização e sobre os jobs que são programados automaticamente em Programar jobs de monetização.