O PayPal é um dos mais conhecidos
provedores de serviço de pagamento no mundo. O fluxo do PayPal é
diferente do fluxo de gateways de pagamento tradicionais, como Visanet.
Durante as compras, uma loja online redireciona o comprador ao web site
do PayPal, para processar o pagamento.
O PayPal Express Checkout
é a solução especial de registro de saída do PayPal, que simplifica o
processo de registro de saída para os compradores e os mantém no site do
vendedor após fazer a compra.
Este artigo irá demonstrar como usar PayPal Express
Checkout para processar pagamentos na loja de iniciante Madisons, no
WebSphere Commerce V7.0.0.1. Entretanto, os mesmos princípios podem ser
aplicados em versões posteriores, para outros provedores de serviço de
pagamento tipo registro de saída e para outros tipos de lojas.
Objetivos
- Aprender sobre o fluxo do PayPal
- Aprender como integrar PayPal com WebSphere Commerce V7.0.0.1 ou posterior
- Aprender os princípios da integração de provedores de serviço de pagamento de registro de saída com WebSphere Commerce
Pré-requisitos
Você deve estar familiarizado com:
- Desenvolvimento para WebSphere Commerce
- Modelo de comando do WebSphere Commerce
- Estrutura de pagamento do WebSphere Commerce
- Web 2.0 e serviços da Web
Requisitos do sistema
- Kit de Ferramentas do WebSphere Commerce V7.0.0.1 ou posterior
Download de arquivos
Este artigo fornece os seguintes arquivos zip, que podem ser transferidos por download:
O fluxo do PayPal
Fluxo de pedido típico do WebSphere Commerce
Como mostra a Figura 1, um fluxo de pedido típico para um comprador é:
- Faz registro de saída na página de carrinho
- Fornece informações de remessa, escolhe uma opção de pagamento e fornece informações de cobrança e pagamento
- Revisa o pedido e paga por ele
- Recebe uma confirmação do pedido
Figura 1. Fluxo de pedido típico do WebSphere Commerce
Fluxo de ordem do PayPal com WebSphere Commerce
Em um fluxo Express Checkout, o comprador ainda faz o registro de
saída no começo do fluxo. Entretanto, após o comprador escolher a forma
de pagamento PayPal, ele é redirecionado para o web site do PayPal para
autenticação.
Após isso, ele é redirecionado novamente para a loja
WebSphere Commerce para concluir o restante do fluxo do pedido. A
Figura 2 mostra o fluxo de Express Checkout.
No fluxo Express Checkout, o comprador:
- Faz registro de saída na página de carrinho
- Escolhe PayPal como forma de pagamento e clica em Next
- Clica no botão Checkout with PayPal
- Faz login no PayPal para autenticar sua identidade
- Revisa a transação no PayPal
- Confirma o pedido e paga no site
- Recebe uma confirmação do pedido
Figura 2. Fluxo de pedido com PayPal Express Checkout
Integrando a PayPal Express Checkout
Como mostra a Figura 3, há cinco importantes etapas no fluxo do PayPal:
- Quando o comprador clica no botão Check out with PayPal, WebSphere Commerce chama a API SetExpressCheckout para recuperar o token e armazena esse token para uso posterior.
- WebSphere Commerce redireciona o navegador para o PayPal, com o token de início da aprovação de comprador para o pagamento.
- PayPal redireciona novamente para RETURNURL (configurado em PluginDeployment.xml) do WebSphere
Commerce. - PunchoutPaymentCallBackCmd lida com a
solicitação, recupera os parâmetros necessários usados pela página Order
Summary e redireciona o comprador para a página Order Summary
novamente. Essa página oculta o botão Check out with PayPal e mostra agora o botão Order. - Após o comprador clicar no botão Order,
a estrutura de pagamento do WebSphere Commerce chama a API
approveAndDeposit do plug-in do PayPal. Isso chama as APIs
GetExpressCheckoutDetails e DoExpressCheckoutPayment para processar o
pagamento.
Figura 3. Fluxo de pedido detalhado com PayPal Express Checkout
Desenvolvendo um plug-in do PayPal
No total, três APIs são usadas durante o fluxo de compras:
SetExpressCheckout, GetExpressCheckoutDetails e
DoExpressCheckoutPayment. Essas APIs são implementadas pelo plug-in do
PayPal. O código de amostra do plug-in do PayPal é fornecido no começo deste artigo. Este plug-in foi testado no Sandbox do PayPal.
- Faça download do arquivo Payments-Plugin-PayPal.zip e extraia.
- Importe-o no kit de ferramentas como um projeto existente. Selecione File > Import > General > Existing Projects into Workspace como mostra a Figura 4.
Figura 4. Importe projetos existentes na área de trabalho
03. Alterne para a perspectiva Java EE e inclua esse projeto no projeto “WC”:
- Clique duas vezes no descritor de implementação WebSphereCommerceServer do projeto “WC”, como mostra a Figura 5.
Figura 5. Inclua o projeto no projeto “WC” como Módulo 1
- No painel Design, clique em Application e, em seguida, clique no botão Add. Clique duas vezes em Module como mostra a Figura 6.
Figura 6. Inclua o projeto no projeto “WC” como Módulo 2
- Como mostra a Figura 7, selecione
Payments-Plugin-PayPal, clique em Finish
e salve as alterações. Após Payments-Plugin-PayPal ter sido incluído no
projeto “WC”, publique o Servidor de Teste do Commerce.
Figura 7. Inclua o projeto no projeto “WC” como Módulo 3
Incluindo uma nova forma de pagamento para o PayPal
- Inclua uma nova política de pagamento para PayPal executando o código
SQL. A seguir para criar uma nova política de pagamento para a loja, escolha um número para policy_id que não seja usado pela coluna policy_id da tabela POLICY.
insert into policy( policy_id, policyname, policytype_id,storeent_id, properties )
values( policy_id, 'PayPal', 'Payment', yourMadisonsStoreId,
'attrPageName=PayPal&paymentConfigurationId=default&display=true&
compatibleMode=false');
insert into policydesc(policy_id, language_id, Description,longDescription )values
( policy_id, languageId, 'PayPal', 'PayPal' );
insert into policycmd (policy_id, businesscmdclass) values (policy_id,
'com.ibm.commerce.payment.actions.commands.DoPaymentActionsPolicyCmdImpl') ;
insert into policycmd (policy_id, businesscmdclass) values (policy_id,
'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionPolicyCmdImpl') ;
insert into policycmd (policy_id, businesscmdclass) values (policy_id,
'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoPolicyCmdImpl');
Por exemplo:
insert into policy( policy_id, policyname, policytype_id,storeent_id, properties )
values( -44447, 'PayPal', 'Payment', 10101,'attrPageName=
PayPal&paymentConfigurationId
=default&display=true&compatibleMode=false&uniqueKey=token');
insert into policydesc(policy_id, language_id, Description,longDescription )values
( -44447, -1, 'PayPal', 'PayPal' );
insert into policycmd (policy_id, businesscmdclass) values (-44447,
'com.ibm.commerce.payment.actions.commands.DoPaymentActionsPolicyCmdImpl') ;
insert into policycmd (policy_id, businesscmdclass) values (-44447,
'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionPolicyCmdImpl') ;
insert into policycmd (policy_id, businesscmdclass) values (-44447,
'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoPolicyCmdImpl');
- Desenvolva o fragmento de pagamento desta forma de pagamento com a marca
do PayPal inserida, como mostra a página Shipping/Billing Method na Figura 3.Faça o download de
Sample-files.zip, extraia em uma pasta temporária e copie PayPal.jsp para toolkitDir/workspace/Stores/YourMedisonsStore/Snippets/EDP/PaymentMethods/.
A marca do PayPal foi incluída nesta página. Quando a forma de pagamento
PayPal for selecionada na página Shipping/Billing Method, PayPal.jsp é
exibido. Altere o layout do arquivo PayPal.jsp de amostra baseado em
seus requisitos. - Configure o pagamento da nova forma de pagamento. Crie a pasta toolkitDir/workspace/WC/xml/config/payments/ppc/plugins/PayPal
e coloque PluginDeployment.xml do arquivo Sample-files.zip nessa pasta. - Configure as regras de ação. Crie uma nova pasta chamada “PayPal” no caminho
toolkitDir/workspace/WC/xml/config/payments/edp/groups/default/.
Copie todos os arquivos em
toolkitDir/workspace/WC/xml/config/payments/edp/groups/default/CreditCardOffline
para essa pasta. - Inclua os mapeamentos de pagamento da forma de pagamento no plug-in do PayPal:
- Inclua o seguinte fragmento de código em stoolkitDir/workspace/WC/xml/config/payments/edp/groups/default/PaymentMappings.xml antes de </PaymentMappings>:
<Mapping paymentMethod="PayPal
paymentConfiguration="PayPal"
paymentActionRule="Early Deposit"/>
02. Inclua o seguinte fragmento de código em toolkitDir/workspace/WC/xml/config/payments/edp/groups/default/PaymentMethodConfigurations.xml antes de </PaymentMethodConfigurations>:
<PaymentMethodConfiguration
name="PayPal"
paymentSystemName="PayPal"
systemEditable="true"
humanEditable="false"
refundAllowed="true"
minimumAmount="0"
maximumAmount="Unbounded"
priority="MEDIUM"
partiallyConsumable="true"
dependentCreditRequired="true"/>
03. Inclua o seguinte fragmento de código em toolkitDir/workspace/WC/xml/config/payments/ppc/plugins/PaymentSystemPluginMapping.xml antes de </Mapper>:
<PaymentSystemName name="PayPal" >
<Mapping paymentConfigurationId="default" pluginName="PayPal"></Mapping>
</PaymentSystemName>
Customizando a página Order Summary
Para customizartoolkitDir/workspace/Stores/WebContent/YourMadisonsStore/ShoppingArea/CheckoutSection/CheckoutPaymentAndBillingAddressSummary.jspf:
- Inclua o botão Checkout with PayPal na página Order Summary
- Inclua a ação JavaScript no botão Checkout with PayPal para redirecionar a página para PunchoutPaymentRedirect.jsp
- Antes de o token ser recuperado do PayPal, exiba o botão Checkout with PayPal e oculte o botão Order (primeira página Order Summary mostrada na Figura 3). Após o token ser recuperado do PayPal, oculte o botão Checkout with PayPal e exiba o botão Order (segunda página Order Summary na Figura 3).
- Inclua o botão Check out with PayPal na página:
- Abra:
toolkitDir/workspace/Stores/WebContent/YourMadisonsStore/ShoppingArea/
CheckoutSection/CheckoutPaymentAndBillingAddressSummary.jspf
- Encontre
<c:forEach var=”protocolData”
items=”${paymentInstance.protocolData}”> e inclua o código a seguir antes do </c:forEach>
correspondente. Esse código verifica se há uma forma de pagamento do
PayPal em uso e se o token foi recuperado do PayPal, chamando a API
SetExpressCheckout. Ele ainda configura os sinalizadores hasPayPalMethod e
sessionInitialized para uso posterior.
<c:if test="${paymentInstance.paymentMethod.paymentMethodName eq 'PayPal'}">
<c:set var="hasPayPalMethod" value="true" scope="request"/>
<c:if test="${protocolData.name eq 'token'}">
<c:set var="sessionInitialized" value="true" scope="request"/>
</c:if>
</c:if>
- Encontre
<c:if test=”${order.orderStatus.status eq ‘M’
e paymentInstance.paymentMethod.paymentMethodName eq ‘SimplePunchout’ e busque o </c:if> correspondente. A seguir inclua o seguinte fragmento de código depois de
</c:if>. Este
fragmento de código é usado para mostrar o botão “Check out with
PayPal” e define a ação JavaScript do botão. Quando o botão é clicado, o
navegador é redirecionado para
PunchoutPaymentRedirectView(PunchoutPaymentRedirect.jsp.
<c:if test="${paymentInstance.paymentMethod.paymentMethodName eq 'PayPal' and
!sessionInitialized}">
<form id="punchout_${paymentCount.count}" action="PunchoutPaymentRedirectView"
method="POST">
<input type="hidden" name="orderId" value="${order.orderIdentifier.
uniqueID}" />
<input type="hidden" name="piId" value="${paymentInstance.uniqueID}" />
<input type="hidden" name="catalogId" value="${param.catalogId}" />
<input type="hidden" name="storeId" value="${param.storeId}" />
<input type="hidden" name="langId" value="${param.langId}" />
</form>
<div id="punchout_${paymentCount.count}_btn" style="display:block;"
class="punchout">
<a href="JavaScript:document.getElementById('punchout_${paymentCount.count}').
submit();" style="color:white;">
<img src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif"
align="left" style="margin-right:7px;">
</a>
</div>
</c:if>
05. Para ocultar o botão Order quando o botão “Check out with PayPal” é exibido:
- Abra
toolkitDir/workspace/Stores/WebContent/YourMadisonsStore/ShoppingArea/
CheckoutSection/SingleShipment/SingleShipmentSummary.jsp. - Encontre o seguinte código. O código mostra o botão Order.
<div class="left" id="WC_SingleShipmentSummary_div_31_2">
<span class="primary_button button_fit" >
<span class="button_container">
<span class="button_bg">
<span class="button_top">
<span class="button_bottom">
<a id = "singleOrderSummary" href="javascript:setCurrentId
('singleOrderSummary');CheckoutHelperJS.checkoutOrder(<c:out value="$
{order.orderIdentifier.uniqueID}"/
>,'<c:out value='${userType}'/>','<c:out value='
${addressListForMailNotification}'/>')">
<fmt:message key="ORDER" bundle="${storeText}"/>
</a>
</span>
</span>
</span>
</span>
</span>
</div>
- Inclua <c:if test=”${!hasPayPalMethod or
(hasPayPalMethod and sessionInitialized)}”>
antes do código, e </c:if> após o código. Esta inclusão serve para fazer com que o botão Order seja exibido apenas quando o PayPal for usado e o token tiver sido recuperado.
Customizando PunchoutPaymentCallBackCmd
- Copie ExtPunchoutPaymentCallBackCmdImpl.java para o pacote
com.ibm.commerce.payment.punchout.commands do projeto WebSphereCommerceServerExtensionsLogic. - Execute a instrução SQL a seguir para registrar essa implementação de comando customizado:
insert into cmdreg values(0,'com.ibm.commerce.payment.punchout.commands.
PunchoutPaymentCallBackCmd' ,null,
'com.ibm.commerce.payment.punchout.commands.ExtPunchoutPaymentCallBackCmdImpl',
null, null, 'Local', null);
Customizando PunchoutPaymentCallBack.jsp
Customize toolkitDir/workspace/Stores/WebContent/PunchoutPaymentCallBack.jsp
para redirecionar o navegador para a página Order Confirmation:
- Inclua o código a seguir antes de if (“SimplePunchoutPlugin”.equalsIgnoreCase(paymentMethod)) {:
String storeId = (String) request.getAttribute("storeId");
String catalogId = (String) request.getAttribute("catalogId");
String langId = (String) request.getAttribute("langId");
String orderId = (String) request.getAttribute("orderId");
String shipmentTypeId = (String) request.getAttribute("shipmentTypeId");
02. Inclua a cláusula else a seguir após a cláusula if para redirecionar o navegador para a página Order Summary:
else if ("PayPal".equalsIgnoreCase(paymentMethod)){
response.sendRedirect("http://localhost/webapp/wcs/stores/servlet/
SingleShipmentOrderSummaryView?catalogId="+catalogId+"&orderId="+orderId+
"&storeId="+storeId);
}
Registrando a ação em struts-config-ext.xml
- Abra toolkitDir/workspace/Stores/WebContent/WEB-INF/struts-config-ext.xml.
- Antes de </global-forwards> inclua o seguinte:
<forward className="com.ibm.commerce.struts.ECActionForward" name="PayPal/
yourMadisonsStoreId" path="/Snippets/EDP/PaymentMethods/
PayPal.jsp"/>
<forward className="com.ibm.commerce.struts.ECActionForward"
name="PunchoutPaymentCallBackView" path="/PunchoutPaymentCallBack.jsp">
<set-property property="properties" value="storeDir=no"/>
</forward>
03. Antes de </action-mappings> inclua o seguinte:
<action path="/PayPal" type="com.ibm.commerce.struts.BaseAction"/>
Registrando contas do PayPal Sandbox
Sandbox é um ambiente de teste de pagamento online, fornecido pelo
PayPal, para teste de integração. É necessário registrar-se no Sandbox
antes de realizar testes.
- Para registrar no Sandbox do PayPal:
- Acesse o Sandbox usando este link: https://developer.paypal.com/cgi-bin/devscr?cmd=_signup-run.
Insira um endereço de e-mail real. Você receberá um e-mail após o registro. - Ative a conta de acordo com o e-mail.
- Faça logon no PayPal usando o e-mail e senha registrados.
02. Para criar uma conta pessoal:
- Acesse a página Test Accounts, como mostra a Figura 8, e clique no botão Preconfigured.
Figura 8. Crie uma conta de teste
- Selecione Buyer como Account Type. Altere a senha para uma que seja fácil de lembrar, como
12345678, assim como mostra a Figura 9.
Figura 9. Crie uma conta de comprador de teste
03. Para criar uma conta de negócios:
- Na página Test Accounts, clique no botão Preconfigured.
- Selecione Seller como Account Type, conforme mostrado na Figura 10.
Figura 10. Crie uma conta de vendedor de teste
- Após a conta de teste ter sido criada na página API Credentials,
como mostra a Figura 11, há informações detalhadas sobre esta conta.
Isso inclui um nome de usuário e senha e assinatura da API, que são
usados mais tarde.
Figura 11. Credenciais da API
Configurando os valores da conta como informações do comerciante
Configure as credenciais da API como informações do comerciante da loja.
Essas informações são usadas pelo plug-in do PayPal ao chamar as APIs
do PayPal.
- Crie um comerciante fazendo login no WebSphere Commerce Accelerator com o usuário wcsadmin. Escolha sua loja com a qual trabalhar. No mesmo navegador, insira o seguinte:
https://hostname:8000/webapp/wcs/admin/servlet/PPCMerchantEdit?actionName=
create&merchantName=myMerchant
Essa URL cria um comerciante chamado myMerchant. Observe que a
janela do navegador retorna uma página em branco. Verifique se uma nova
linha com esse valor de NAME foi inserida com a seguinte instrução SQL:
SELECT * FROM MERCHANT WHERE NAME=’myMerchant’;
Observe o valor de MERCHANT_ID para uso posterior.
02. Associe o comerciante com a loja. Usando o mesmo navegador, insira a URL a seguir e substitua
MERCHANT_ID com o valor da etapa anterior:
https://hostname:8000/webapp/wcs/admin/servlet/PPCStoreMerchantAssociate?actionName=
create&merchantId=MERCHANT_ID
Essa URL cria uma associação com a loja Madisons. Observe que a janela
do navegador retorna uma página em branco. Verifique se uma nova linha
com esse valor de MERCHANT_ID foi criada com a seguinte instrução SQL:
SELECT * FROM STOREMERCH WHERE MERCHANT_ID=MERCHANT_ID;
03. Crie uma configuração de comerciante. Usando a mesma janela de
navegador, insira a URL a seguir e substitua MERCHANT_ID com o valor da
etapa anterior:
https://hostname:8000/webapp/wcs/admin/servlet/PPCMerchantConfigurationEdit?
actionName=create&merchantId=MERCHANT_ID&
paymentConfigurationGroup=default&paymentSystemName=PayPal
Essa URL cria uma configuração de comerciante. Observe que a janela do
navegador retorna uma página em branco. Verifique se uma nova linha com
esse valor de MERCHANT_ID foi inserida com a seguinte instrução SQL:
SELECT * FROM MERCHCONF WHERE MERCHANT_ID=MERCHANT_ID;
Observe o valor de MERCHCONF_ID para uso posterior.
04. Crie as informações de configuração do comerciante. Usando a mesma janela do navegador, insira as URLs a seguir e substitua MERCHCONF_ID com o valor anotado na etapa anterior:
https://hostname:8000/webapp/wcs/admin/servlet/PPCMerchantConfigurationInfoEdit?
actionName=create&merchantConfId=MERCHANT_ID&propertyName_1=USER
&propertyValue_1=ValueOfUser&propertyName_2=PWD&propertyValue_2=
ValueOfPassword&propertyName_3=SIGNATURE&propertyValue_3=
ValueOfSignature
Os valores de USER, PWD e SIGNATURE são o Nome de Usuário, Senha e
Assinatura da API, mostrados na página de credenciais da API após a
conta de negócios ter sido criada. Por exemplo:
https://localhost:8000/webapp/wcs/admin/servlet/PPCMerchantConfigurationInfoEdit?
actionName=create&merchantConfId=10001&propertyName_1=USER&propertyValue_1=
song_2_1292209255_biz_api1.sohu.com&propertyName_2=PWD&propertyValue_2=1292209264
&propertyName_3=SIGNATURE&propertyValue_3=AnuqAWRi7my4.
hv1OR-5hrTorkajAQyLbDhjfZO0f4m2kvS6Y9O45Fur
Essa URL cria um conjunto de entradas de configuração de comerciante que
armazena as informações da conta do PayPal.
Observe que a janela do
navegador retorna uma página em branco. Verifique se essas três novas
linhas com esse valor de MERCHCONF_ID foram inseridas com a seguinte
instrução SQL:
SELECT * FROM MERCHCONFINFO WHERE MERCHCONF_ID=MERCHCONF_ID;
Os valores são criptografados.
Importando o certificado digital do PayPal
01. Obtenha o certificado do PayPal:
- Visualize https://api-3t.sandbox.paypal.com/nvp, clique com o botão direito na página e clique em Certificates.
- Na janela Certificate (conforme podemos observar na Figura 12), alterne para a aba Details e clique em Copy to File.
Figura 12. Exporte o certificado
- Quando o Export Wizard do certificado aparecer, clique em Next.
- Selecione DER encoded binary X.509(.CER) e clique em Next.
- Navegue até um local para armazenar o certificado e clique em Next.
02. Importe o certificado digital:
- Execute ikeyman.bat no caminho
toolkitDir/wasprofile/bin/. - Clique no ícone Open (Figura 13) e escolha PKCS12 como o tipo de banco de dados de chaves.
- Clique em Browse, escolha o arquivo trust.p12 no caminho
toolkitDir/wasprofile/config/cells/localhost/nodes/localhost/ e, em seguida, clique em OK.
Figura 13. Importe o certificado 1
- Insira WebAS como a senha na janela de senha, e clique em OK.
- Selecione Signer Certificates (Figura 14) e clique no botão Add.
- Navegue à procura do arquivo de certificado que você exportou anteriormente e clique em OK.
Figura 14. Importe o certificado 2
- Insira um rótulo para o certificado, como mostra a Figura 15, e clique em OK.
Figura 15. Importe o certificado 3
- Como mostra a Figura 16, o certificado foi importado com sucesso para o banco de dados de chaves.
Figura 16. Importe o certificado 4
Testando a integração
- Publique novamente o servidor WebSphere Commerce.
- Inclua um produto no carrinho.
- Escolha PayPal como forma de pagamento.
- Na página Order summary, clique em Check out with PayPal.
- O navegador é redirecionado para o PayPal. Na
página do PayPal, faça login com o e-mail e senha de login da sua conta
pessoal, semelhante ao mostrado na Figura 17.
Figura 17. Faça logon no PayPal com uma conta pessoal
06. Clique em Continue na próxima página. O navegador é redirecionado de volta à página Order Summary do WebSphere Commerce.
07. Na página Order Summary, clique no botão Order. O pedido é processado com êxito.
Implementando em um ambiente de produção
Você concluiu as etapas anteriores em um ambiente do kit de
ferramentas, para a conveniência do desenvolvimento e teste de unidade.
Você pode agora implementar em um ambiente de produção do WebSphere
Commerce.
Siga as mesmas etapas acima mas leve em consideração
os seguintes pontos, que são diferentes da realização das etapas em um
ambiente de kit de ferramentas:
- Ao implementar o projeto Payments-Plugin-PayPal
no kit de ferramentas, é necessário importar e incluir o projeto nos
módulos do WebSphere Commerce. Para o ambiente de tempo de execução, é
necessário empacotar o projeto Payments-Plugin-PayPal do kit de
ferramentas em um arquivo JAR (consulte Packaging Java EE assets for an entire module no Centro de Informações), e em seguida implementar no servidor WebSphere Commerce como um EJB (consulte Deploying J2EE assets for an entire module no Centro de Informações). - Para a seção Importando o certificado digital do PayPal, é necessário exportar e importar o certificado usando a URL de express checkout real do PayPal em vez da URL da Sandbox.
- Registre uma conta PayPal real em vez de uma
conta de teste de Sandbox, caso queira usar a forma de pagamento do
PayPal para lojas online. Em seguida, configure USER, PWD e SIGNATURE da
conta de negócios real do PayPal como as informações de configuração do
comerciante. - Lembre-se de alterar os parâmetros a seguir em
PluginDeployment.xml, de acordo com o nome de host do servidor WebSphere
Commerce e a URL real do PayPal Express Checkout. Consulte o Guia de Integração de PayPal Checkout para ver como solicitar a conta.
<PluginProperty name="initializationBaseURL" value="https://api-3t.sandbox.
paypal.com/nvp" />
<PluginProperty name="authenticationBaseURL" value=
"https://www.sandbox.paypal.com/cgi-bin/webscr" />
<PluginProperty name="RETURNURL" value="http://localhost/webapp/wcs/stores/
servlet/PunchoutPaymentCallBack" />
<PluginProperty name="CANCELURL" value="http://localhost/webapp/wcs/stores/
servlet/PunchoutPaymentCallBack" />
05. Para ExtPunchoutPaymentCallBackCmdImpl.java, coloque o arquivo de classe
no mesmo pacote que o WebSphereCommerceServerExtensionsLogic.jar do
tempo de execução, como uma correção.
Conclusão
Este artigo mostrou como integrar PayPal com a loja de iniciante
Madisons do WebSphere Commerce, como o fluxo do PayPal Express Checkout
funciona, a diferença entre um fluxo de pedido normal e um fluxo do
PayPal Express Checkout, além de como testar na Sandbox do PayPal. Agora você pode integrar WebSphere Commerce com PayPal
facilmente.
Downloads
Descrição | Nome | Tamanho | Método de download |
---|---|---|---|
Code sample | Payments-Plugin-PayPal.zip | 124KB | HTTP |
Code sample | Sample-files.zip | 6KB | HTTP |
Recursos
Aprender
- Documentos do PayPal para desenvolvedores
- Guia de Integração de PayPal Express Checkout
- Centro de Informações do WebSphere Commerce: Payments subsystem
- Centro de Informações do WebSphere Commerce: Adding a new payment business policy
- Centro de Informações do WebSphere Commerce: Payment configuration files
- Centro de Informações do WebSphere Commerce: Developing a payment plug-in
Discutir
***
artigo publicado originalmente no developerWorks Brasil, por Yi Xu Song
Yi Xu Song é Engenheiro de Software da equipe de
desenvolvimento de WebSphere Commerce Order Payment e é o atual
proprietário do componente Order Payment. Ele publicou uma invenção e
documentos sobre pagamento de pedidos no Centro de Informações do WebSphere Commerce.