
Express Checkout Integration Guide August 7, 2012 43
Related API Operations
Tracking Failed or Pending Requests
same MsgSubID. In contrast, a request with no accompanying MsgSubID will instead
duplicate the request.
Scenarios in which idempotency come into play:
In an API request sent with a MsgSubID times out, a client application can retry the
original request using the accompanying MsgSubID. If the request has finished processing,
PayPal then provides the latest status of the request and might return a 11607 warning
code (Duplicate request for specified Message Submission ID).
If a client application sends two API requests with same MsgSubID at the same time,
PayPal processes the first request and the other may fail with 11604 error code (Request
for Message Submission ID already in progress).
NOTE: For DoExpressCheckoutPayment, you can use the token in place of the
MsgSubID. For mutliple payments, a combination of the token and
PaymentRequestID should be used in place of the MsgSubID.
The following example shows MsgSubID used as part of a DoAuthorization request:
<transactionID>O-87H32160HB8486131</transactionID>
<transactionEntity>
<__value__>
<m__value>Order</m__value>
</__value__>
</transactionEntity>
<amount>
<__value>10</__value>
<currencyID>
<__value__>
<m__value>USD</m__value>
</__value__>
</currencyID>
</amount>
<msgSubID>f81d4fae-7dec-11d0-a765-00a0c91e6bf6</msgSubID>
Usage Notes:
The MsgSubID must be unique for each request and, as a best practice, should be unique to
an API call type (e.g. DoAuthorization, DoCapture).
PayPal recommends using the UUID standard for assigning a MsgSubID to your request,
since it meets the 38 single-byte character limit for MsgSubID.
Idempotency only applies when the original request was successful. If the original request
results in an error, the original request is not saved.
PayPal reserves the right to expire a MsgSubID after 13 days.
PayPal provides the status of a request at the current time and not the status of the initial
request. Take for example, an initial request that makes a payment (status is Complete).
The payment is later refunded. If the original request with the original MsgSubId is
resubmitted, the response will indicate that the payment status is Refunded.
Komentarze do niniejszej Instrukcji