Apple Pay Order Integration

Wallet order creation with Apple Pay Payment Token

Apple Pay Token Details

There are two types of Apple Pay integration on the client-side. Apple Pay on the Web and on Mobile. You'll need to request all the information and build this payload manually. Check requiredBillingContactFields and
requiredShippingContactFields for details (for mobile integration these names might change).

Order Tracking

Call the endpoint GET v3/orders/:orderId

{ 
   "id":"WO_J8WWHBRR8BG",
   "createdAt":1577108104000,
   "owner":"account:AC_LJPB929NXFE",
   "status":"PROCESSING",
   "sourceAmount":1.84,
   "sourceCurrency":"USD",
   "destCurrency":"ETH",
   "dest":"ethereum:0x9E01E0E60dF079136a7a1d4ed97d709D5Fe3e341",
   "walletType":"APPLE_PAY",
   "transferId":"TF_6RJPDREQ4W9",
   "email":"[email protected]",
   "smsSentAt":null,
   "smsDeliveredAt":null,
   "smsRepliedAt":null,
   "smsReplyBody":null,
   "smsTriggerAt":null,
   "paymentMethodName":"Visa 9990",
   "errorMessage":null,
   "accountId":"AC_LJPB929NXFE"
}

📘

Quote Order - Amount with fees

We cannot add the fees on top of the amount authorized by the user. You need to quote the order first with Wallet Order Quotation and charge the amount returned in the sourceAmount (which is the amount including fees).

As an example, quoting an order with 10 USD will return $10.55 USD in the sourceAmount. $10.55 is the amount you need to charge users so they will receive $10 converted in crypto in their wallets.

📘

Breaking changes - End-user IP Address

Starting on March 30th, Wyre started requesting the end user's IP address. Card Processing integrations must send the new property ipAddress with the normal Wallet Order Request.
This is a mandatory field and it must be the real IP address from the end-user. Do not send your server's IP address or all your traffic will be blocked.

Both IPv4 and IPv6 are accepted.

We support MasterCard and Visa at the moment. Please make sure you restrict to these card brands.

Wallet order reservations are mandatory and the reservation id must be passed in the parameter reservationId. Check reservations are good for one time and expire in a certain time window. Check the docs for more details.

Once the transferId is returned it means order was accepted and the transfer (blockchain transaction) is in progress. To track its progress please check the transfer tracking documentation here.