A API de criação de lojas para o Mundi Checkout visa facilitar o trabalho do cadastramento de uma nova loja em nosso sistema. A requisição de criação da loja é feita através de um POST de um objeto JSON para uma das seguintes URLs:
Desenvolvimento
- https://localhost:8083/Create
Homologação
- https://checkoutstaging.mundipaggone.com:8083/Create
Produção
- https://checkout.mundipaggone.com:8083/Create
Para efetuar o cadastro da loja na plataforma Mundi Checkout, é necessário informar a chave de loja na plataforma Mundipagg One. Isto significa que é necessário que o cadastro na plataforma One já tenha sido efetuado previamente. A chave de loja gerada para o sistema Mundi Checkout será igual à chave de loja no gateway.
Para solicitar a configuração de uma nova loja no sistema Mundi Checkout, basta enviar um objeto MerchantRequest no corpo de um POST para a URL desejada. A API de criação irá efetuar o cadastro da nova loja e enviar um objeto de resposta para esta requisição, MerchantResponse, contendo a chave da loja gerada neste cadastro.
Detalhes dos atributos do objeto MerchantRequest
GatewayMerchantKey
- Chave da loja no Gateway (Tipo: Guid, Obrigatório: sim);MerchantName
- Nome da Loja (Tipo: texto, Obrigatório: sim, Restrição: tamanho máximo 64 caracteres);MerchantReference
- Identificador da loja no sistema da loja (Tipo: texto, Obrigatório: não, Restrição: tamanho máximo 32 caracteres);CheckoutVersion
- Versão do Mundi Checkout a ser utilizada (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 3 caracteres, Valor padrão: "1.0");IsAntiFraudEnabled
- Indica se, por padrão, a análise antifraude estará ativa para pedidos desta loja. (Tipo: booleano, Valores: true ou false, Valor padrão: false);IsInstallmentEnabled
- Indica se, por padrão, o parcelamento está habilitado para pedidos de cartão de crédito desta loja. (Tipo: booleano, Valores: true ou false, Valor padrão: false);IsCreditCardPaymentEnabled
- Indica se, por padrão, o pagamento com cartão de crédito estará ativo para pedidos desta loja. (Tipo: booleano, Valores: true ou false, Valor padrão: true);IsBoletoPaymentEnabled
- Indica se, por padrão, o pagamento com boleto bancário estará ativo para pedidos desta loja. (Tipo: booleano, Valores: true ou false, Valor padrão: true);ReturnURL
- URL de retorno após o processamento do checkout com sucesso. (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 255 caracteres, Valor padrão: "http://checkoutstaging.mundipaggone.com:8080/Pages/success.aspx");NotificationURL
- URL que receberá POSTs de notificação sobre os pedidos desta loja. (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 255 caracteres. Valor Padrão: "https://checkoutstaging.mundipaggone.com:8080/Notification/CheckoutNotificationTest.aspx");MaxNotificationTries
- Número máximo de vezes para tentar notificar, em caso de problema na notificação. (Tipo: número inteiro, Obrigatório: não, Valor padrão: 3);RequestURLDomain
- Domínio a partir do qual o checkout será chamado. (Tipo: texto, Obrigatório não, Valor padrão: "http://checkoutstaging.mundipaggone.com:8080");LayoutColorPanel
- Cor do painel do checkout. Deve ser informado no padrão hexadecimal: #RRGGBB (Tipo: texto, Obrigatório não, Restrição: Tamanho máximo 7 caracteres);LayoutMerchantName
- Nome da loja a ser mostrado no painel do checkout. (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 20 caracteres, Valor Padrão: Igual ao atributo MerchantName);LayoutOpacity
- Opacidade do painel do checkout. (Tipo: número inteiro, Obrigatório: não, Valor padrão: 70);CancelCheckoutURL
- URL de redirecionamento para o caso em que o cliente feche o checkout antes de finalizar a compra. (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 120 caracteres, Valor padrão: "http://checkoutstaging.mundipaggone.com:8080/Pages/cancel.aspx");IsSimulatorEnabled
- Indica se o simulador está habilitado (Tipo: booleano, Obrigatório: não, Valores: true ou false, Valor Padrão: false);GatewayEnvironment
- Ambiente para integração com o gateway (Tipo: enum, Obrigatório: não, Valor padrão: "Staging");LayoutPaymentButtonText
- Texto do botão de pagamento do checkout (Tipo: texto, Obrigatório: não, Valor padrão: "Efetuar Pagamento");LayoutUrlLogo
- URL do logotipo da loja (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 200 caracteres);LayoutUrlLogoLarge
- URL da versão grande do logotipo da loja (Tipo: texto, Obrigatório: não, Restrição: Tamanho máximo 200 caracteres);MerchantCreditCardBrandCollection
- Coleção de objetos de configuração de bandeiras de cartão de crédito (Tipo: objeto, Obrigatório não);Detalhes dos atributos do objeto MerchantRequest.MerchantCreditCardBrandRequest
CreditCardBrand
- Nome da bandeira do cartão de crédito (Tipo: enum, Obrigatório: sim, Valores: CreditCardBrandEnum);AmountInCentsMin
- Valor mínimo para o parcelamento (Tipo: número inteiro, Obrigatório: sim);IsInstallmentEnabled
- Indica se o parcelamento está habilitado para esta bandeira (Tipo: booleano, Obrigatório: sim);InstallmentMin
- Quantidade mínima de parcelas (Tipo: número inteiro, Obrigatório: sim);InstallmentMax
- Quantidade máxima de parcelas (Tipo: número inteiro, Obrigatório: sim);GatewayPaymentMethodCode
- Identificador do método de pagamento no gateway. (Tipo: número inteiro, Obrigatório: sim, Valores: 0 para que o gateway defina qual adquirente será usada ou 1 para simulador);Valores do enumeration CreditCardBrandEnum
Visa
;Mastercard
;Amex
;Valores do enumeration GatewayEnvironmentEnum
Development
- Desenvolvimento;Staging
- Homologação;Production
- Produção;É importante notar que não é obrigatório que sejam informadas as configurações de bandeira (MerchantCreditCardBrandCollection) numa requisição de criação de loja. Caso ao menos um objeto deste tipo seja adicionado à coleção, todos os seus atributos são obrigatórios e deverão ser preenchidos. Porém, caso nenhum objeto seja adicionado à coleção, o sistema irá, por padrão, preenchê-la com dois objetos:
CreditCardBrandEnum = CreditCardBrandEnum.Visa;
AmountInCentsMin = 100;
IsInstallmentEnabled = false;
InstallmentMin = 1;
InstallmentMax = 1;
GatewayPaymentMethodCode = 1;
CreditCardBrandEnum = CreditCardBrandEnum.Mastercard;
AmountInCentsMin = 100;
IsInstallmentEnabled = false;
InstallmentMin = 1;
InstallmentMax = 1;
GatewayPaymentMethodCode = 1;
A requisição a seguir mostra um exemplo de criação de loja em que o mínimo de informações foi informado, isto é, apenas os valores obrigatórios do objeto MerchantRequest foram informados:
- Header
Content-Type: application/json
- Body
{
"MerchantName": "Nome da Loja",
"GatewayMerchantKey": "50CB81FB-7164-4E1D-94F3-9B1E6E12C73D"
}
- Body
{
"MerchantKey": "50CB81FB-7164-4E1D-94F3-9B1E6E12C73D",
"CreateDate": "2015-06-16T20:34:59.567",
"Success": true,
"ErrorCollection": []
}
A requisição a seguir mostra um exemplo de criação de loja em que todos os parâmetros customizáveis para a configuração da loja foram informados no objeto MerchantRequest:
- Header
Content-Type: application/json
- Body
{
"MerchantName": "Loja Teste API",
"GatewayMerchantKey": "50CB81FB-7164-4E1D-94F3-9B1E6E12C73D",
"CancelCheckoutURL": "http://www.mundipagg.com/cancel",
"CheckoutVersion": "1.0",
"GatewayEnvironment": "Staging",
"IsAntiFraudEnabled": false,
"IsBoletoPaymentEnabled": true,
"IsCreditCardPaymentEnabled": true,
"IsInstallmentEnabled": false,
"IsSimulatorEnabled": true,
"LayoutColorPanel": "#FF0000",
"LayoutMerchantName": "LayoutLojaTeste",
"LayoutOpacity": 80,
"LayoutPaymentButtonText": "Pagar",
"LayoutUrlLogo": "http://www.mundipagg.com/logo",
"LayoutUrlLogoLarge": "http://www.mundipagg.com/logolarge",
"MaxNotificationTries": 2,
"MerchantReference": "MinhaReferencia",
"NotificationURL": "http://www.mundipagg.com/Notification",
"RequestURLDomain": "http://www.mundipagg.com/RequestURL",
"ReturnURL": "http://www.mundipagg.com/Return",
"MerchantCreditCardBrandCollection": [
{
"AmountInCentsMin": 200,
"CreditCardBrand": "Visa",
"GatewayPaymentMethodCode": 2,
"InstallmentMax": 3,
"InstallmentMin": 2,
"IsInstallmentEnabled": true
},
{
"AmountInCentsMin": 200,
"CreditCardBrand": "Amex",
"GatewayPaymentMethodCode": 2,
"InstallmentMax": 3,
"InstallmentMin": 2,
"IsInstallmentEnabled": true
}
]
}
- Body
{
"MerchantKey": "48321197-2978-4264-b056-2af27283f669",
"CreateDate": "2015-06-16T20:34:59.567",
"Success": true,
"ErrorCollection": []
}
O exemplo a seguir demonstra uma requisição inválida, em que a chave da loja no gateway não foi informada. O objeto de resposta conterá o atributo Success = false
e um objeto com a coleção de erros, detalhando o ocorrido:
- Header
Content-Type: application/json
- Body
{
"MerchantName": "Nome da Loja",
}
- Body
{
"MerchantKey": "00000000-0000-0000-0000-000000000000",
"CreateDate": null,
"Success": false,
"ErrorCollection": [
{
"ErrorCode": 400,
"ParameterName": "Checkout.WebAPI.Tools.DataContract.Request.MerchantRequest.GatewayMerchantKey",
"ErrorDescription": "O campo GatewayMerchantKey é obrigatório."
}
]
}