where is CustomerCreditCard?

davidfii
New Member
5 0 0

I am trying to access this object: https://shopify.dev/docs/admin-api/graphql/reference/customers/customercreditcard  via graphql, but I don't know where it is. It doesn't appear to be in the Order object, nor the Order's Customer object, nor the Order's Transaction object.

In fact, I don't see any "Types that return X" section on this api docs page.

Any help would be appreciated, thanks!

0 Likes
davidfii
New Member
5 0 0

Okay I think I found a way to get to it via https://shopify.dev/docs/admin-api/graphql/reference/customers/customerpaymentmethod  , and then via instrument but when I make the query:

 

{ orders(first: 10) { edges { node { id name customer { email firstName paymentMethods(first: 10) { edges { node { instrument } } } } } } } }

 

 

I get "Access denied for paymentMethods field." But according to the api doc link above, that object should be accessible if the read_customers access scope is enabled, which it is. I am able to get customer name and email address if I only query email and firstName.

Any help would be appreciated, thanks!

0 Likes
Kevin_A
Shopify Staff
Shopify Staff
293 36 47

Hey @davidfii 

These fields are only for our new subscription APIs and require a specific permission. If this is for a subscription app, make sure you have requested access in your partner dashboard. 

Kevin_A | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

0 Likes
davidfii
New Member
5 0 0

Thanks Kevin,

No, this is an order-based app. I need to access the expiryMonth and expiryYear for a customer's credit card per-order. Is that not possible?

0 Likes
Kevin_A
Shopify Staff
Shopify Staff
293 36 47

Hey @davidfii 

I would normally suggest the order transaction endpoint (https://shopify.dev/docs/admin-api/rest/reference/orders/transaction) for specific payment details but I don't believe you will be able to pull expiry date info from there. I don't believe there is any endpoint that will share secure card details like the expiry date, CVV, or credit card number. 

Kevin_A | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

0 Likes
Kevin_A
Shopify Staff
Shopify Staff
293 36 47

Hey @davidfii 

Actually, I spoke too soon! I just tested using the order transaction endpoint and we do list the "exp_month" and "exp_year" as parameters nested under "payment_method_details". 

Kevin_A | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

0 Likes
davidfii
New Member
5 0 0

Great thanks Kevin! I just tested it on an order transaction and I see the exp info there.

Thanks for your help

0 Likes
davidfii
New Member
5 0 0

One last question @Kevin_A , I see in https://shopify.dev/docs/admin-api/rest/reference/orders/transaction that the field I found the exp_month/year data in is the `receipt` field. The API docs says the contents "depends on which gateway the shop is using." Does this mean the data structure is different depending on if it is, say, a Visa or Mastercard? Will I need custom code to reach into the data structure for each one? I'm not sure what "gateway" means here.

Thanks!

0 Likes
Kevin_A
Shopify Staff
Shopify Staff
293 36 47

Hey @davidfii 

You are correct, it is possible that the data structure/availability might change a bit depending on which gateway was used. My best suggestion here would be to try and test against multiple gateways to get a better idea of what you will see. 

Kevin_A | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

0 Likes