<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [ x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* x[ ] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [ x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

### Problem Description
<!-- Is your feature request related to a problem? Please add a clear and concise description of what the problem is. -->
Since currency codes are actually not present in the receipt Apple returns, it's much easier to do server-side calculations for validating receipts that require currency codes for business-logic if we can pass that into our verification calls to the backend. Currency look-ups are often in-exact and Apple doesn't actually provide this information in an easy to find way with the exception of putting it into the product data that come back from the call to [getProducts](https://www.electronjs.org/docs/api/in-app-purchase#inapppurchasegetproductsproductids). As of right now, the data being returned is not forwarding the currencyCode for each product.
### Proposed Solution
<!-- Describe the solution you'd like in a clear and concise manner -->
Forward the currencyCode found on [SKProductData#priceLocale](https://developer.apple.com/documentation/storekit/skproduct/1506145-pricelocale). That object has a field [currencyCode](https://developer.apple.com/documentation/foundation/nslocale/1642836-currencycode). Providing that value in the Product object that electron provides will allow developers to know how to handle purchases better.
### Alternatives Considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
Not aware of any other way of getting a user's Apple locale.
### Additional Information
<!-- Add any other context about the problem here. -->

shell/browser/api/electron_api_in_app_purchase.cc
InAppPurchase::~InAppPurchase() {}
v8::Local<v8::Promise> InAppPurchase::PurchaseProduct(
    const std::string& product_id,
    gin::Arguments* args) {
  v8::Isolate* isolate = args->isolate();
  gin_helper::Promise<bool> promise(isolate);
  v8::Local<v8::Promise> handle = promise.GetHandle();
  int quantity = 1;
  args->GetNext(&quantity);
  in_app_purchase::PurchaseProduct(
      product_id, quantity,
      base::BindOnce(gin_helper::Promise<bool>::ResolvePromise,
                     std::move(promise)));
  return handle;
}
v8::Local<v8::Promise> InAppPurchase::GetProducts(
    const std::vector<std::string>& productIDs,
    gin::Arguments* args) {
  v8::Isolate* isolate = args->isolate();
  gin_helper::Promise<std::vector<in_app_purchase::Product>> promise(isolate);
  v8::Local<v8::Promise> handle = promise.GetHandle();
  in_app_purchase::GetProducts(
      productIDs,
      base::BindOnce(gin_helper::Promise<
                         std::vector<in_app_purchase::Product>>::ResolvePromise,
                     std::move(promise)));
  return handle;
}
void InAppPurchase::OnTransactionsUpdated(