eBay Manage Payments Technical Scope
The purpose of this document is to give good understanding of what MP are and how we can introduce them in our current eBay integration. The documentation can be found here - https://developer.ebay.com/managed-payments More details can be found as well here:
UK Managed Payments Workshop.pdf
The whole idea behind MP is Hemi to be able to swap from PayPal to Managed payment with a simple click. For example if we have active PayPal this means the integration will work with the default PayPal logic. If Active PayPal is false them the will list items with the the MP logic. This can be additionally discussed if to add a separate parameter for MP? This mean we will have to make sure PayPal crons wont validate the payment rows if the client is opt in MP. The refunds will go directly to eBay not PayPal. We will have to update the payment status based on the CheckoutStatus.PaymentMethod node in Orders call.
WHAT NEEDS TO BE CHANGED
In the current AddFixedPriceItem call we will have to remove the Item.PaymentMethods node and add AutoPay node as true.
Note: The new eBay managed payments program is currently only available to a limited number of sellers on the US and Germany sites. For sellers in the eBay managed payments program, a payment method does not need to be specified at listing time. Any payment method that is specified at listing time (or defined in a payment business policy) will be ignored and dropped from the listing, and the seller will get a warning message in the response. Immediate payment is supported for sellers in the eBay managed payments program, so they can include the AutoPay field in the request and set its value to true
.
Item.PaymentMethods (modified): For sellers enrolled in the new eBay Managed Payments program, a specified payment method is not necessary. If a payment method is specified, such as PayPal, it will be dropped from the listing and the seller will get a warning message when the call is run.
Item.AutoPay (modified): The immediate payment feature is also available for sellers enrolled in the new eBay Managed Payments program. In the past, this feature was only available to sellers who were offering PayPal as the only available payment method.
Listing Process NO breaking changes The following is no longer required (Warnings Only) Item.PaymentMethods or Item.PayPalEmailAddressGet Item Changes Item.PaymentMethods and Item.PayPalEmailAddress are not returned
In terms of the Orders there will be some changes as well which are: More details here -https://developer.ebay.com/Devzone/XML/docs/Reference/eBay/GetOrders.html#GetOrders
- Order.Total, Order.AmountPaid (modified): For orders subject to 'eBay Collect and Remit' tax (mandated US state sales tax or 'Goods and Services' tax in Australia and New Zealand), the 'eBay Collect and Remit' tax amount will be included in the AmountPaid and ConvertedAmountPaid amounts. This logic change is not applicable to sellers opted in to eBay managed payments.
- Transaction.AmountPaid, Transaction.ConvertedAmountPaid (modified): For orders subject to 'eBay Collect and Remit' tax (mandated US state sales tax or 'Goods and Services' tax in Australia and New Zealand), the 'eBay Collect and Remit' tax amount will be included in the AmountPaid and ConvertedAmountPaid amounts. This logic change is not applicable to sellers opted in to eBay managed payments.
- ExternalTransaction.PaymentOrRefundAmount, Payment.PaymentAmount (modified): For orders subject to 'eBay Collect and Remit' tax (mandated US state sales tax or 'Goods and Services' tax in Australia and New Zealand), the 'eBay Collect and Remit' tax amount will be included in the ExternalTransaction.PaymentOrRefundAmount and Payment.PaymentAmount amounts (if these monetary transactions are corresponding to a buyer's payment for an order). This logic change is not applicable to sellers opted in to eBay managed payments.
- OrderArray.Order .CheckoutStatus .IntegratedMerchantCreditCardEnabled -
This field being returned as
true
indicates that the order can be paid for through the seller's payment gateway account. Note: As of May 1, 2019, no eBay marketplace support electronic payments through a seller's Integrated Merchant Credit Card (IMCC) account. To accept online credit card payments from buyers, a seller must use accept PayPal, or opt in to eBay managed payments program (if available to seller). For sellers who are opted in to eBay managed payments, this field will actually be returned astrue
, but this will indicate that the seller is opted in to eBay managed payments, and does not indicate that the seller's IMCC account is being used for payments.
WHAT`S NEW
Are we using Post-Order API in our current integration? https://developer.ebay.com/Devzone/post-order/index.html If no we will have to include it as from here we will fill the gaps from removing PayPal crons
CANCELLATION FLOW
As eBay give us the capability of approving and rejecting cancellation we are advertising the claim structure for eBay as well. The flow can be separated to cancellation send to eBay and cancellation get from eBay Addition field will need to be introduced in order_payment and order_claim tables called cancelId. We are also introducing the order claim logic which will have additional set up in account_ebay where we can set default trigger for cases (return) and cancellation (cancel). For examples we should be able to say our default cancel action is Approve and our default case action is Reject or no default action.
1 Cancellation send to eBay:
If we would like to cancel and order this means the order has to be on Ready For Shipping status. Once we add the refund row with the relevant information we will set the status on Pending and process by MP = Yes then we make Create Cancellation Request if an error is returned we set the payment row (refund type) on error and store the relevant error in the error field and also we will have to Check Cancellation Eligibility and store the eligibility error in orders.error field. However if the refund is send correctly we will store the cancelID in the payment row (refund type) and also will have to Approve Cancellation Request by default and create a claim in order Claim table with the following details:
Marketplace Date: | NOW() |
---|---|
Type: | Cancel |
Initiated By: | Seller |
Action: | Accept |
Status: | Completed |
Marketplace Status: | |
Marketplace ID: | Transaction ID |
Action Reason: | |
Marketplace Reason: | Reason from the payment_row |
CancelID: | cancelID from the payment_row |
Also in the ORDER CLAIM ROW we need to store the Order Item Line IDs.
This means that the cancelation request is created and approved the logic in the order table remains the same we do set Refunded = Yes and refunded so far sum and set order tool status as cancelled.
2 Cancellation get from eBay
If a cancellation is done directly from eBay we should be able to download it using The order cancellation flow will be: Search Cancellations for the last 30 days and we will need to store the following details in order claim table:
{
"cancelId": "5000019540", cancelID field
"marketplaceId": "EBAY_US",
"legacyOrderId": "170007646169-9373761007",
"requestorType": "BUYER", Initiated by Field
"cancelState": "CLOSED",
"cancelStatus": "CANCEL_REJECTED", order_ebay cancel_status
"cancelCloseReason": "SELLER_DECLINE",
"shipmentDate": {
"value": "2015-06-03T07:00:00.000Z",
},
"sellerResponseDueDate": {
"value": "2015-06-07T06:00:00.000Z",
},
"paymentStatus": "MARK_AS_PAID", order_ebay payment_status
"requestRefundAmount": {
"value": 1.23,
"currency": "USD"
},
"cancelRequestDate": {
"value": "2015-06-03T16:26:05.000Z", order_claim Marketplace_date
},
"cancelCloseDate": {
"value": "2015-06-03T16:34:29.000Z",
}
},
{
"cancelId": "5000020253", order_claim cancelID field
"marketplaceId": "EBAY_US",
"legacyOrderId": "170007591793-9351013007",
"requestorType": "SELLER", order_claim Initiated by Field
"cancelReason": "OUT_OF_STOCK_OR_CANNOT_FULFILL", order claim Marketplace Reason:
"cancelState": "CLOSED",
"cancelStatus": "CANCEL_CLOSED_WITH_REFUND", order_ebay cancel_status
"cancelCloseReason": "FULL_REFUNDED",
"paymentStatus": "PAYPAL_PAID", order_ebay payment_status
"requestRefundAmount": {
"value": 2.46,
"currency": "USD"
},
"cancelRequestDate": {
"value": "2015-06-13T00:32:09.000Z",
},
"cancelCloseDate": {
"value": "2015-06-13T00:37:06.000Z",
}
}
Not sure how we will receive a partial cancellation… Once we store the cancelation in order claim and populate all the relevant fields we will be able to:
1If default action is set in account_ebay to automatically mark the order claim as approved we will need to set the claim in hemi as:
Action - Accept Status - Pending
2If default action is set in account_ebay to automatically mark the order claim as reject we will need to set the claim in hemi as:
Action - Reject Status - Pending
3If there is no default action:
Action - Not Selected Status - Not Selected
In case 1 and 2 we will also need to generate the paymet_row(refund type) with the relevant details and statuses. Once the refund is processed we do again update order refunded, refunded so far sum and tool status
Not all calls may be required but we have to be very careful how our GetOrders and GetModifiedOrders works.
The order refund flow will be: Step#1 -Search Cases- https://developer.ebay.com/Devzone/post-order/post-order_v2_casemanagement_search__get.html Step#2 - Get Case - https://developer.ebay.com/Devzone/post-order/post-order_v2_casemanagement-caseid__get.html Step#3 -Provides Return Address - https://developer.ebay.com/Devzone/post-order/post-order_v2_casemanagement-caseid_provide_return_address__post.html Step#4 -Issue Case Refund - https://developer.ebay.com/Devzone/post-order/post-order_v2_casemanagement-caseid_issue_refund__post.html
We will have to add a new API group called GetAccount call updated to return managed payments-related fees and credits. More details here- https://developer.ebay.com/Devzone/XML/docs/Reference/eBay/GetAccount.html#GetAccount
Will check with eBay if all this can be get from the seller central on eBay.
Reconciliations are available in the SELLs API under FInances: https://developer.ebay.com/api-docs/sell/finances/static/overview.html
Q&A If there is a cancellation on an order will GetOrders return the cancelId? No we have to get this with the search cancellation call. Can buyer request cancellation? Yes Is there any additional steps we will need to do when creating a new listing? No part from the payload changes Cancellations are for open orders and cases for Shipped orders? Yes Provide Return Address before Issue a refund and is it required? Optional What is the period of when cases can be open? 90 days Can case be open when the orders is not shipped? No Approve and Reject new flow? Yes Buyer Confirm the refund make refund completed or is not mandatory or we have to wait for the buyer or certain amount of time in order to mark it as completed? No once we approve it is completed Finance API are available from eBay Seller Central? YES Manage PAyment to be tested on eBay UK not only US? Share UK test account to Craig to activate it DONE
eBay will provide some flow charts as well